Coherent4.2.10/include/ar.h

/* (-lgl
 *	Coherent 386 release 4.2
 *	Copyright (c) 1982, 1993 by Mark Williams Company.
 *	All rights reserved. May not be copied without permission.
 *	For copying permission and licensing info, write licensing@mwc.com
 -lgl) */

#ifndef	__AR_H__
#define	__AR_H__

/*
 * This is the format of the header at the start of every archive member.
 * This is not the same as V7.
 * To prevent confusion the magic number is different.
 */

/*
 * Be warned! This header use the magic DIRSIZ #define which represents the
 * size of a filename in the old V6 filesystem (which has been kept in the
 * S5 and Coherent filesystems). Thus, the "ar" command and all commands
 * which use this header will die horribly if use with filesystems that
 * support longer names.
 */

#include <common/__time.h>
#include <common/__fsize.h>
#include <common/_uid.h>

#if	! DIRSIZ
# define	DIRSIZ		14
#endif

#define OLD_ARMAG	0177535			/* Magic number */

struct	old_ar_hdr {
	char		ar_name [DIRSIZ];/* Member name */
	__time_t	ar_date;	/* Time inserted */
	o_gid_t		ar_gid;		/* Group id */
	o_uid_t		ar_uid;		/* User id */
	o_mode_t	ar_mode;	/* Mode */
	__fsize_t	ar_size;	/* File size */
};


/*
 * Name of header module for ranlib
 */

#ifndef	HDRNAME
#define	HDRNAME "__.SYMDEF"
#endif


/*
 * Header module is list of all global defined symbols
 * in all load modules
 */

#ifndef	__L_OUT_H__
#include <n.out.h>
#endif

typedef	struct	ar_sym {
	char		ar_id [NCPLN];	/* symbol name */
	__fsize_t	ar_off;		/* offset of load module */
					/* ...from end of header module */
} ar_sym;

#endif	/* ! defined (__AR_H__) */