home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / gnu / utlsrc33.lzh / UTLSRC33 / GNU-AR.H < prev    next >
C/C++ Source or Header  |  1993-07-30  |  1KB  |  38 lines

  1.  
  2. /* this file was hacked together by jrd, cause there doesn't seem to be one
  3.    supplied with the ar.c etc that I found on frosted-flakes.
  4.    The structure of these things was deduced from looking at the code, and
  5.    dumping a file produced by ar.c when compiled on a Eunuchs that I had
  6.    lying around.  The sizes of things are not the same as what Eunuchs
  7.    appears to use, but who cares; they were picked for utility on the atari
  8. */
  9.  
  10. /* this appears to be nothing more that a frobule that allows us to recognize
  11.    an object library when we see one.  It looks like any string will do... */
  12. #define    ARMAG    "Gnu is Not eUnuchs.\n"
  13.  
  14. /* the size of the above tag? */
  15. #define    SARMAG    20
  16.  
  17. /* a thing that's shoved into each module header?  This appears to be
  18.    required to be 2 bytes, as there's a BCMP in there with a 2 wired into
  19.    its calling sequence... */
  20. #define    ARFMAG    "\r\n"
  21.  
  22. /* a header for a module of the library. */
  23. struct ar_hdr 
  24.     {
  25.     char ar_name[16];    /* the module name.  Strictly speaking, 
  26.                    12 ought to be enough, as that's the
  27.                    biggest file name we'll see, and we
  28.                    don't see directories, but we'll leave 
  29.                    a little slush in case somebody wants
  30.                    to stick a null in there. */
  31.     char ar_size[12];    /* ascii size number */
  32.     char ar_date[12];    /* ascii representation of date fixnum */
  33.     char ar_mode[8];    /* ??? protection bits??? */
  34.     char ar_uid[4];        /* who knows? */
  35.     char ar_gid[4];        /* ditto... */
  36.     char ar_fmag[2];    /* does this have to be last? */
  37.     };
  38.