home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
pc
/
0400
/
CCE_0423.ZIP
/
CCE_0423.PD
/
INCLUD83.ZOO
/
gnu-ar.h
< prev
next >
Wrap
C/C++ Source or Header
|
1992-07-20
|
2KB
|
50 lines
#ifndef _GNUAR_H
#define _GNUAR_H
#ifdef __cplusplus
extern "C" {
#endif
/* this file was hacked together by jrd, cause there doesn't seem to be one
supplied with the ar.c etc that I found on frosted-flakes.
The structure of these things was deduced from looking at the code, and
dumping a file produced by ar.c when compiled on a Eunuchs that I had
lying around. The sizes of things are not the same as what Eunuchs
appears to use, but who cares; they were picked for utility on the atari
*/
/* this appears to be nothing more that a frobule that allows us to recognize
an object library when we see one. It looks like any string will do... */
#define ARMAG "Gnu is Not eUnuchs.\n"
/* the size of the above tag? */
#define SARMAG 20
/* a thing that's shoved into each module header? This appears to be
required to be 2 bytes, as there's a BCMP in there with a 2 wired into
its calling sequence... */
#define ARFMAG "\r\n"
/* a header for a module of the library. */
struct ar_hdr
{
char ar_name[16]; /* the module name. Strictly speaking,
12 ought to be enough, as that's the
biggest file name we'll see, and we
don't see directories, but we'll leave
a little slush in case somebody wants
to stick a null in there. */
char ar_size[12]; /* ascii size number */
char ar_date[12]; /* ascii representation of date fixnum */
char ar_mode[8]; /* ??? protection bits??? */
char ar_uid[4]; /* who knows? */
char ar_gid[4]; /* ditto... */
char ar_fmag[2]; /* does this have to be last? */
};
#ifdef __cplusplus
}
#endif
#endif /* _GNUAR_H */