Merge from vendor branch TNFTP:
[dragonfly.git] / usr.sbin / kgzip / aouthdr.c
1 /*
2  * Copyright (c) 2000 Robert Nordier
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in
12  *    the documentation and/or other materials provided with the
13  *    distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
16  * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY
19  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
20  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
21  * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
23  * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
25  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  *
27  * $FreeBSD: src/usr.sbin/kgzip/aouthdr.c,v 1.1.2.1 2001/07/19 04:37:24 kris Exp $
28  * $DragonFly: src/usr.sbin/kgzip/aouthdr.c,v 1.2 2003/06/17 04:29:55 dillon Exp $
29  */
30
31 #include <stddef.h>
32 #include "aouthdr.h"
33
34 #define KGZ_FIX_NSIZE   0       /* Run-time fixup */
35
36 const struct kgz_aouthdr0 aouthdr0 = {
37     /* a.out header */
38     {
39         MID_I386 << 020 | OMAGIC,                       /* a_midmag */
40         0,                                              /* a_text */
41         sizeof(struct kgz_hdr) + KGZ_FIX_NSIZE,         /* a_data */
42         0,                                              /* a_bss */
43         sizeof(struct nlist) * KGZ__STNUM,              /* a_syms */
44         0,                                              /* a_entry */
45         0,                                              /* a_trsize */
46         0                                               /* a_drsize */
47     }
48 };
49
50 const struct kgz_aouthdr1 aouthdr1 = {
51     /* Symbol table */
52     {
53         {
54             {
55                 (char *)offsetof(struct kgz__strtab,
56                                  kgz)                   /* n_un */
57             },
58             N_DATA | N_EXT,                             /* n_type */
59             AUX_OBJECT,                                 /* n_other */
60             0,                                          /* n_desc */
61             0                                           /* n_value */
62         },
63         {
64             {
65                 (char *)offsetof(struct kgz__strtab,
66                                  kgz_ndata)             /* n_un */
67             },
68             N_DATA | N_EXT,                             /* n_type */
69             AUX_OBJECT,                                 /* n_other */
70             0,                                          /* n_desc */
71             sizeof(struct kgz_hdr)                      /* n_value */
72         }
73     },
74     /* String table */
75     {
76         sizeof(struct kgz__strtab),                     /* length */
77         KGZ__STR_KGZ,                                   /* kgz */
78         KGZ__STR_KGZ_NDATA                              /* kgz_ndata */
79     }
80 };