1330449Seadler/*-
2330449Seadler * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3330449Seadler *
468313Srnordier * Copyright (c) 2000 Robert Nordier
568313Srnordier * All rights reserved.
668313Srnordier *
768313Srnordier * Redistribution and use in source and binary forms, with or without
868313Srnordier * modification, are permitted provided that the following conditions
968313Srnordier * are met:
1068313Srnordier * 1. Redistributions of source code must retain the above copyright
1168313Srnordier *    notice, this list of conditions and the following disclaimer.
1268313Srnordier * 2. Redistributions in binary form must reproduce the above copyright
1368313Srnordier *    notice, this list of conditions and the following disclaimer in
1468313Srnordier *    the documentation and/or other materials provided with the
1568313Srnordier *    distribution.
1668313Srnordier *
1768313Srnordier * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS
1868313Srnordier * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
1968313Srnordier * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
2068313Srnordier * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY
2168313Srnordier * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2268313Srnordier * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
2368313Srnordier * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
2468313Srnordier * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
2568313Srnordier * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
2668313Srnordier * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
2768313Srnordier * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2868313Srnordier *
2968313Srnordier * $FreeBSD: stable/11/usr.sbin/kgzip/aouthdr.h 330449 2018-03-05 07:26:05Z eadler $
3068313Srnordier */
3168313Srnordier
3268313Srnordier#include <a.out.h>
3368313Srnordier#include "kgz.h"
3468313Srnordier
3568313Srnordier/* Relocatable header: part 0 */
3668313Srnordierstruct kgz_aouthdr0 {
3768313Srnordier    struct exec a;
3868313Srnordier};
3968313Srnordier
4068313Srnordier/* Symbol table entries */
4168313Srnordier#define KGZ__STNUM		2
4268313Srnordier
4368313Srnordier/* Symbol table strings */
4468313Srnordier#define KGZ__STR_KGZ		"_kgz"
4568313Srnordier#define KGZ__STR_KGZ_NDATA	"_kgz_ndata"
4668313Srnordier
4768313Srnordier/* String table */
4868313Srnordierstruct kgz__strtab {
4968313Srnordier    unsigned long length;
5068313Srnordier    char kgz[sizeof(KGZ__STR_KGZ)];
5168313Srnordier    char kgz_ndata[sizeof(KGZ__STR_KGZ_NDATA)];
5268313Srnordier};
5368313Srnordier
5468313Srnordier/* Relocatable header: part 1 */
5568313Srnordierstruct kgz_aouthdr1 {
5668313Srnordier    struct nlist st[KGZ__STNUM];
5768313Srnordier    struct kgz__strtab strtab;
5868313Srnordier};
5968313Srnordier
6068313Srnordierextern const struct kgz_aouthdr0 aouthdr0;
6168313Srnordierextern const struct kgz_aouthdr1 aouthdr1;
62