lib: nuke 0@0
[unleashed.git] / include / ar.h
blobdab1f47477b8da43fd4c4ca5941264a1f6f74d69
1 /*
2 * CDDL HEADER START
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License, Version 1.0 only
6 * (the "License"). You may not use this file except in compliance
7 * with the License.
9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10 * or http://www.opensolaris.org/os/licensing.
11 * See the License for the specific language governing permissions
12 * and limitations under the License.
14 * When distributing Covered Code, include this CDDL HEADER in each
15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16 * If applicable, add the following below this CDDL HEADER, with the
17 * fields enclosed by brackets "[]" replaced with your own identifying
18 * information: Portions Copyright [yyyy] [name of copyright owner]
20 * CDDL HEADER END
22 /* Copyright (c) 1988 AT&T */
23 /* All Rights Reserved */
26 #ifndef _AR_H
27 #define _AR_H
29 #pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 2.12 */
31 #ifdef __cplusplus
32 extern "C" {
33 #endif
36 * COMMON ARCHIVE FORMAT
38 * ARCHIVE File Organization:
39 * _________________________________________________
40 * |__________ARCHIVE_MAGIC_STRING_________________|
41 * |__________ARCHIVE_FILE_MEMBER_1________________|
42 * | |
43 * | Archive File Header "ar_hdr" |
44 * |...............................................|
45 * | Member Contents |
46 * | 1. External symbol directory |
47 * | 2. Text file |
48 * |_______________________________________________|
49 * |________ARCHIVE_FILE_MEMBER_2__________________|
50 * | "ar_hdr" |
51 * |...............................................|
52 * | Member Contents (.o or text file) |
53 * |_______________________________________________|
54 * | . . . |
55 * | . . . |
56 * | . . . |
57 * |_______________________________________________|
58 * |________ARCHIVE_FILE_MEMBER_n__________________|
59 * | "ar_hdr" |
60 * |...............................................|
61 * | Member Contents |
62 * |_______________________________________________|
66 #define ARMAG "!<arch>\n"
67 #define SARMAG 8
68 #define ARFMAG "`\n"
70 struct ar_hdr /* archive file member header - printable ascii */
72 char ar_name[16]; /* file member name - `/' terminated */
73 char ar_date[12]; /* file member date - decimal */
74 char ar_uid[6]; /* file member user id - decimal */
75 char ar_gid[6]; /* file member group id - decimal */
76 char ar_mode[8]; /* file member mode - octal */
77 char ar_size[10]; /* file member size - decimal */
78 char ar_fmag[2]; /* ARFMAG - string to end header */
81 #ifdef __cplusplus
83 #endif
85 #endif /* _AR_H */