Merge illumos-gate
[unleashed/lotheac.git] / include / ar.h
blob67d4f86454b4f745f4a1634135bf68c5606112ab
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 #ifdef __cplusplus
30 extern "C" {
31 #endif
34 * COMMON ARCHIVE FORMAT
36 * ARCHIVE File Organization:
37 * _________________________________________________
38 * |__________ARCHIVE_MAGIC_STRING_________________|
39 * |__________ARCHIVE_FILE_MEMBER_1________________|
40 * | |
41 * | Archive File Header "ar_hdr" |
42 * |...............................................|
43 * | Member Contents |
44 * | 1. External symbol directory |
45 * | 2. Text file |
46 * |_______________________________________________|
47 * |________ARCHIVE_FILE_MEMBER_2__________________|
48 * | "ar_hdr" |
49 * |...............................................|
50 * | Member Contents (.o or text file) |
51 * |_______________________________________________|
52 * | . . . |
53 * | . . . |
54 * | . . . |
55 * |_______________________________________________|
56 * |________ARCHIVE_FILE_MEMBER_n__________________|
57 * | "ar_hdr" |
58 * |...............................................|
59 * | Member Contents |
60 * |_______________________________________________|
64 #define ARMAG "!<arch>\n"
65 #define SARMAG 8
66 #define ARFMAG "`\n"
68 struct ar_hdr /* archive file member header - printable ascii */
70 char ar_name[16]; /* file member name - `/' terminated */
71 char ar_date[12]; /* file member date - decimal */
72 char ar_uid[6]; /* file member user id - decimal */
73 char ar_gid[6]; /* file member group id - decimal */
74 char ar_mode[8]; /* file member mode - octal */
75 char ar_size[10]; /* file member size - decimal */
76 char ar_fmag[2]; /* ARFMAG - string to end header */
79 #ifdef __cplusplus
81 #endif
83 #endif /* _AR_H */