Home | History | Annotate | Download | only in include
      1 /* Header describing `ar' archive file format.
      2    Copyright (C) 1996 Free Software Foundation, Inc.
      3    This file is part of the GNU C Library.
      4 
      5    The GNU C Library is free software; you can redistribute it and/or
      6    modify it under the terms of the GNU Lesser General Public
      7    License as published by the Free Software Foundation; either
      8    version 2.1 of the License, or (at your option) any later version.
      9 
     10    The GNU C Library is distributed in the hope that it will be useful,
     11    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     13    Lesser General Public License for more details.
     14 
     15    You should have received a copy of the GNU Lesser General Public
     16    License along with the GNU C Library; if not, write to the Free
     17    Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
     18    02111-1307 USA.  */
     19 
     20 #ifndef _AR_H
     21 #define _AR_H 1
     22 
     23 #include <sys/cdefs.h>
     24 
     25 /* Archive files start with the ARMAG identifying string.  Then follows a
     26    `struct ar_hdr', and as many bytes of member file data as its `ar_size'
     27    member indicates, for each member file.  */
     28 
     29 #define ARMAG	"!<arch>\n"	/* String that begins an archive file.  */
     30 #define SARMAG	8		/* Size of that string.  */
     31 
     32 #define ARFMAG	"`\n"		/* String in ar_fmag at end of each header.  */
     33 
     34 __BEGIN_DECLS
     35 
     36 struct ar_hdr
     37   {
     38     char ar_name[16];		/* Member file name, sometimes / terminated. */
     39     char ar_date[12];		/* File date, decimal seconds since Epoch.  */
     40     char ar_uid[6], ar_gid[6];	/* User and group IDs, in ASCII decimal.  */
     41     char ar_mode[8];		/* File mode, in ASCII octal.  */
     42     char ar_size[10];		/* File size, in ASCII decimal.  */
     43     char ar_fmag[2];		/* Always contains ARFMAG.  */
     44   };
     45 
     46 __END_DECLS
     47 
     48 #endif /* ar.h */
     49