head	1.7;
access;
symbols
	perseant-exfatfs-base-20250801:1.7
	perseant-exfatfs-base-20240630:1.7
	perseant-exfatfs:1.7.0.46
	perseant-exfatfs-base:1.7
	cjep_sun2x:1.7.0.44
	cjep_sun2x-base:1.7
	cjep_staticlib_x-base1:1.7
	cjep_staticlib_x:1.7.0.42
	cjep_staticlib_x-base:1.7
	phil-wifi-20200421:1.7
	phil-wifi-20200411:1.7
	phil-wifi-20200406:1.7
	pgoyette-compat-merge-20190127:1.7
	pgoyette-compat-20190127:1.7
	pgoyette-compat-20190118:1.7
	pgoyette-compat-1226:1.7
	pgoyette-compat-1126:1.7
	pgoyette-compat-1020:1.7
	pgoyette-compat-0930:1.7
	pgoyette-compat-0906:1.7
	pgoyette-compat-0728:1.7
	pgoyette-compat-0625:1.7
	pgoyette-compat-0521:1.7
	pgoyette-compat-0502:1.7
	pgoyette-compat-0422:1.7
	pgoyette-compat-0415:1.7
	pgoyette-compat-0407:1.7
	pgoyette-compat-0330:1.7
	pgoyette-compat-0322:1.7
	pgoyette-compat-0315:1.7
	pgoyette-compat:1.7.0.40
	pgoyette-compat-base:1.7
	perseant-stdc-iso10646:1.7.0.38
	perseant-stdc-iso10646-base:1.7
	prg-localcount2-base3:1.7
	prg-localcount2-base2:1.7
	prg-localcount2-base1:1.7
	prg-localcount2:1.7.0.36
	prg-localcount2-base:1.7
	pgoyette-localcount-20170426:1.7
	bouyer-socketcan-base1:1.7
	pgoyette-localcount-20170320:1.7
	bouyer-socketcan:1.7.0.34
	bouyer-socketcan-base:1.7
	pgoyette-localcount-20170107:1.7
	pgoyette-localcount-20161104:1.7
	localcount-20160914:1.7
	pgoyette-localcount-20160806:1.7
	pgoyette-localcount-20160726:1.7
	pgoyette-localcount:1.7.0.32
	pgoyette-localcount-base:1.7
	netbsd-5-2-3-RELEASE:1.7
	netbsd-5-1-5-RELEASE:1.7
	yamt-pagecache-base9:1.7
	yamt-pagecache-tag8:1.7
	tls-earlyentropy:1.7.0.28
	tls-earlyentropy-base:1.7
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.7
	riastradh-drm2-base3:1.7
	netbsd-5-2-2-RELEASE:1.7
	netbsd-5-1-4-RELEASE:1.7
	netbsd-5-2-1-RELEASE:1.7
	netbsd-5-1-3-RELEASE:1.7
	agc-symver:1.7.0.30
	agc-symver-base:1.7
	tls-maxphys-base:1.7
	yamt-pagecache-base8:1.7
	netbsd-5-2:1.7.0.26
	yamt-pagecache-base7:1.7
	netbsd-5-2-RELEASE:1.7
	netbsd-5-2-RC1:1.7
	yamt-pagecache-base6:1.7
	yamt-pagecache-base5:1.7
	yamt-pagecache-base4:1.7
	netbsd-5-1-2-RELEASE:1.7
	netbsd-5-1-1-RELEASE:1.7
	yamt-pagecache-base3:1.7
	yamt-pagecache-base2:1.7
	yamt-pagecache:1.7.0.24
	yamt-pagecache-base:1.7
	bouyer-quota2-nbase:1.7
	bouyer-quota2:1.7.0.22
	bouyer-quota2-base:1.7
	matt-nb5-pq3:1.7.0.20
	matt-nb5-pq3-base:1.7
	netbsd-5-1:1.7.0.18
	netbsd-5-1-RELEASE:1.7
	netbsd-5-1-RC4:1.7
	netbsd-5-1-RC3:1.7
	netbsd-5-1-RC2:1.7
	netbsd-5-1-RC1:1.7
	netbsd-5-0-2-RELEASE:1.7
	netbsd-5-0-1-RELEASE:1.7
	jym-xensuspend-nbase:1.7
	netbsd-5-0:1.7.0.16
	netbsd-5-0-RELEASE:1.7
	netbsd-5-0-RC4:1.7
	netbsd-5-0-RC3:1.7
	netbsd-5-0-RC2:1.7
	jym-xensuspend:1.7.0.14
	jym-xensuspend-base:1.7
	netbsd-5-0-RC1:1.7
	netbsd-5:1.7.0.12
	netbsd-5-base:1.7
	mjf-devfs2:1.7.0.10
	mjf-devfs2-base:1.7
	yamt-pf42-base4:1.7
	yamt-pf42-base3:1.7
	hpcarm-cleanup-nbase:1.7
	yamt-pf42-base2:1.7
	yamt-pf42:1.7.0.8
	yamt-pf42-base:1.7
	keiichi-mipv6-nbase:1.7
	keiichi-mipv6:1.7.0.6
	keiichi-mipv6-base:1.7
	cube-autoconf:1.7.0.4
	cube-autoconf-base:1.7
	hpcarm-cleanup:1.7.0.2
	hpcarm-cleanup-base:1.7
	netbsd-1-3-PATCH003:1.6
	netbsd-1-3-PATCH003-CANDIDATE2:1.6
	netbsd-1-3-PATCH003-CANDIDATE1:1.6
	netbsd-1-3-PATCH003-CANDIDATE0:1.6
	netbsd-1-3-PATCH002:1.6
	netbsd-1-3-PATCH001:1.6
	netbsd-1-3-RELEASE:1.6
	netbsd-1-3-BETA:1.6
	netbsd-1-3:1.6.0.4
	netbsd-1-3-base:1.6
	netbsd-1-2-PATCH001:1.6
	netbsd-1-2-RELEASE:1.6
	netbsd-1-2-BETA:1.6
	netbsd-1-2:1.6.0.6
	netbsd-1-2-base:1.6
	netbsd-1-1-PATCH001:1.6
	netbsd-1-1-RELEASE:1.6
	netbsd-1-1:1.6.0.2
	netbsd-1-1-base:1.6
	lite-2:1.1.1.2
	netbsd-1-0-PATCH06:1.3
	netbsd-1-0-PATCH05:1.3
	netbsd-1-0-PATCH04:1.3
	netbsd-1-0-PATCH03:1.3
	netbsd-1-0-PATCH02:1.3
	netbsd-1-0-PATCH1:1.3
	netbsd-1-0-PATCH0:1.3
	netbsd-1-0-RELEASE:1.3
	lite-1:1.1.1.2
	CSRG:1.1.1
	netbsd-1-0:1.3.0.2
	netbsd-1-0-base:1.3
	netbsd-0-9-RELEASE:1.1.1.1
	netbsd-0-9-BETA:1.1.1.1
	netbsd-0-9-ALPHA2:1.1.1.1
	netbsd-0-9-ALPHA:1.1.1.1
	netbsd-0-9:1.1.1.1.0.2
	netbsd-0-9-base:1.1.1.1
	netbsd-0-8:1.1.1.1
	netbsd-alpha-1:1.1.1.1
	patchkit-0-2-2:1.1.1.1
	WFJ-386bsd-01:1.1.1.1
	WFJ-920714:1.1.1;
locks; strict;
comment	@ * @;


1.7
date	98.08.22.05.33.19;	author tv;	state dead;
branches;
next	1.6;

1.6
date	95.03.25.06.39.43;	author glass;	state Exp;
branches;
next	1.5;

1.5
date	94.12.24.15.55.54;	author cgd;	state Exp;
branches;
next	1.4;

1.4
date	94.09.19.03.34.11;	author mycroft;	state Exp;
branches;
next	1.3;

1.3
date	94.03.27.09.33.54;	author cgd;	state Exp;
branches;
next	1.2;

1.2
date	93.08.01.18.18.41;	author mycroft;	state Exp;
branches;
next	1.1;

1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	93.03.21.09.45.37;	author cgd;	state Exp;
branches;
next	1.1.1.2;

1.1.1.2
date	94.09.19.03.05.24;	author mycroft;	state Exp;
branches;
next	;


desc
@@


1.7
log
@Nuke the Berkeley tools (except strip).  The GNU binutils are now
standard.
@
text
@/*	$NetBSD: archive.h,v 1.6 1995/03/25 06:39:43 glass Exp $	*/

/*-
 * Copyright (c) 1991, 1993, 1994
 *	The Regents of the University of California.  All rights reserved.
 *
 * This code is derived from software contributed to Berkeley by
 * Hugh Smith at The University of Guelph.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 *	@@(#)archive.h	8.3 (Berkeley) 4/2/94
 */

/* Ar(1) options. */
#define	AR_A	0x0001
#define	AR_B	0x0002
#define	AR_C	0x0004
#define	AR_D	0x0008
#define	AR_M	0x0010
#define	AR_O	0x0020
#define	AR_P	0x0040
#define	AR_Q	0x0080
#define	AR_R	0x0100
#define	AR_T	0x0200
#define	AR_TR	0x0400
#define	AR_U	0x0800
#define	AR_V	0x1000
#define	AR_X	0x2000
extern u_int options;

/* Set up file copy. */
#define	SETCF(from, fromname, to, toname, pad) { \
	cf.rfd = from; \
	cf.rname = fromname; \
	cf.wfd = to; \
	cf.wname = toname; \
	cf.flags = pad; \
}

/* File copy structure. */
typedef struct {
	int rfd;			/* read file descriptor */
	char *rname;			/* read name */
	int wfd;			/* write file descriptor */
	char *wname;			/* write name */
#define	NOPAD	0x00			/* don't pad */
#define	RPAD	0x01			/* pad on reads */
#define	WPAD	0x02			/* pad on writes */
	u_int flags;			/* pad flags */
} CF;

/* Header structure internal format. */
typedef struct {
	off_t size;			/* size of the object in bytes */
	time_t date;			/* date */
	int lname;			/* size of the long name in bytes */
	gid_t gid;			/* group */
	uid_t uid;			/* owner */
	u_short mode;			/* permissions */
	char name[MAXNAMLEN + 1];	/* name */
} CHDR;

/* Header format strings. */
#define	HDR1	"%s%-13d%-12ld%-6u%-6u%-8o%-10qd%2s"
#define	HDR2	"%-16.16s%-12ld%-6u%-6u%-8o%-10qd%2s"

#define	OLDARMAXNAME	15
#define	HDR3	"%-16.15s%-12ld%-6u%-6u%-8o%-10qd%2s"


#include <sys/cdefs.h>

struct stat;

void	close_archive __P((int));
void	copy_ar __P((CF *, off_t));
int	get_arobj __P((int));
int	open_archive __P((int));
void	put_arobj __P((CF *, struct stat *));
void	skip_arobj __P((int));
@


1.6
log
@update rcsid format
@
text
@d1 1
a1 1
/*	$NetBSD$	*/
@


1.5
log
@clean up types slightly.
@
text
@d1 2
d38 1
a38 2
 *	from: @@(#)archive.h	8.3 (Berkeley) 4/2/94
 *	$Id: archive.h,v 1.4 1994/09/19 03:34:11 mycroft Exp $
@


1.4
log
@Merge with 4.4-Lite.
@
text
@d37 1
a37 1
 *	$Id: $
d81 1
a81 1
	long date;			/* date */
d83 2
a84 2
	int gid;			/* group */
	int uid;			/* owner */
@


1.3
log
@off_t exp.
@
text
@d2 2
a3 2
 * Copyright (c) 1991 The Regents of the University of California.
 * All rights reserved.
d36 2
a37 2
 *	from: @@(#)archive.h	5.8 (Berkeley) 4/12/91
 *	$Id: archive.h,v 1.2 1993/08/01 18:18:41 mycroft Exp $
d99 2
a100 1
__BEGIN_DECLS
d102 1
a102 2
void	skip_arobj __P((int));
int	copy_ar __P((CF *, off_t));
d105 2
a106 4
struct stat;
int	put_arobj __P((CF *, struct stat *));
__END_DECLS

@


1.2
log
@Add RCS identifiers.
@
text
@d37 1
a37 1
 *	$Id: $
d90 2
a91 2
#define	HDR1	"%s%-13d%-12ld%-6u%-6u%-8o%-10ld%2s"
#define	HDR2	"%-16.16s%-12ld%-6u%-6u%-8o%-10ld%2s"
d94 1
a94 1
#define	HDR3	"%-16.15s%-12ld%-6u%-6u%-8o%-10ld%2s"
@


1.1
log
@Initial revision
@
text
@d36 2
a37 1
 *	@@(#)archive.h	5.8 (Berkeley) 4/12/91
@


1.1.1.1
log
@initial import of 386bsd-0.1 sources
@
text
@@


1.1.1.2
log
@Import original 4.4-Lite version.
@
text
@d2 2
a3 2
 * Copyright (c) 1991, 1993, 1994
 *	The Regents of the University of California.  All rights reserved.
d36 1
a36 1
 *	@@(#)archive.h	8.3 (Berkeley) 4/2/94
d89 2
a90 2
#define	HDR1	"%s%-13d%-12ld%-6u%-6u%-8o%-10qd%2s"
#define	HDR2	"%-16.16s%-12ld%-6u%-6u%-8o%-10qd%2s"
d93 1
a93 1
#define	HDR3	"%-16.15s%-12ld%-6u%-6u%-8o%-10qd%2s"
d98 1
a98 2
struct stat;

d100 2
a101 1
void	copy_ar __P((CF *, off_t));
d104 4
a107 2
void	put_arobj __P((CF *, struct stat *));
void	skip_arobj __P((int));
@
