xref: /plan9/sys/src/ape/cmd/pax/config.h (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du Colombier /* $Source: /u/mark/src/pax/RCS/config.h,v $
2*9a747e4fSDavid du Colombier  *
3*9a747e4fSDavid du Colombier  * $Revision: 1.2 $
4*9a747e4fSDavid du Colombier  *
5*9a747e4fSDavid du Colombier  * config.h - configuration options for PAX
6*9a747e4fSDavid du Colombier  *
7*9a747e4fSDavid du Colombier  * DESCRIPTION
8*9a747e4fSDavid du Colombier  *
9*9a747e4fSDavid du Colombier  *	This file contains a number of configurable parameters for the
10*9a747e4fSDavid du Colombier  *	PAX software.  This files should be edited prior to makeing the
11*9a747e4fSDavid du Colombier  *	package.
12*9a747e4fSDavid du Colombier  *
13*9a747e4fSDavid du Colombier  * AUTHOR
14*9a747e4fSDavid du Colombier  *
15*9a747e4fSDavid du Colombier  *	Mark H. Colburn, NAPS International (mark@jhereg.mn.org)
16*9a747e4fSDavid du Colombier  *
17*9a747e4fSDavid du Colombier  * Sponsored by The USENIX Association for public distribution.
18*9a747e4fSDavid du Colombier  *
19*9a747e4fSDavid du Colombier  * Copyright (c) 1989 Mark H. Colburn.
20*9a747e4fSDavid du Colombier  * All rights reserved.
21*9a747e4fSDavid du Colombier  *
22*9a747e4fSDavid du Colombier  * Redistribution and use in source and binary forms are permitted
23*9a747e4fSDavid du Colombier  * provided that the above copyright notice and this paragraph are
24*9a747e4fSDavid du Colombier  * duplicated in all such forms and that any documentation,
25*9a747e4fSDavid du Colombier  * advertising materials, and other materials related to such
26*9a747e4fSDavid du Colombier  * distribution and use acknowledge that the software was developed
27*9a747e4fSDavid du Colombier  * by Mark H. Colburn and sponsored by The USENIX Association.
28*9a747e4fSDavid du Colombier  *
29*9a747e4fSDavid du Colombier  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
30*9a747e4fSDavid du Colombier  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
31*9a747e4fSDavid du Colombier  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
32*9a747e4fSDavid du Colombier  */
33*9a747e4fSDavid du Colombier 
34*9a747e4fSDavid du Colombier #ifndef _PAX_CONFIG_H
35*9a747e4fSDavid du Colombier #define _PAX_CONFIG_H
36*9a747e4fSDavid du Colombier 
37*9a747e4fSDavid du Colombier /* Defines */
38*9a747e4fSDavid du Colombier 
39*9a747e4fSDavid du Colombier /* XENIX_286 (SCO ugh, Xenix system V(?) 286, USG with changes...
40*9a747e4fSDavid du Colombier  * You will get a warning about DIRSIZ being redefined, ignore it,
41*9a747e4fSDavid du Colombier  * complain to SCO about include files that are messed up or send
42*9a747e4fSDavid du Colombier  * mail to doug@lentni.UUCP, who can provide some patches to fix
43*9a747e4fSDavid du Colombier  * your include files.
44*9a747e4fSDavid du Colombier  *
45*9a747e4fSDavid du Colombier  * Defining XENIX_286 will automatically define USG.
46*9a747e4fSDavid du Colombier  *
47*9a747e4fSDavid du Colombier  */
48*9a747e4fSDavid du Colombier /* #define XENIX_286	/* Running on a XENIX 286 system */
49*9a747e4fSDavid du Colombier 
50*9a747e4fSDavid du Colombier /*
51*9a747e4fSDavid du Colombier  * USG - USG (Unix System V) specific modifications
52*9a747e4fSDavid du Colombier  *
53*9a747e4fSDavid du Colombier  * Define USG if you are running Unix System V or some similar variant
54*9a747e4fSDavid du Colombier  */
55*9a747e4fSDavid du Colombier #define USG 	/* Running on a USG System */
56*9a747e4fSDavid du Colombier 
57*9a747e4fSDavid du Colombier /*
58*9a747e4fSDavid du Colombier  * BSD - BSD (Berkely) specific modifications
59*9a747e4fSDavid du Colombier  *
60*9a747e4fSDavid du Colombier  * Define BSD if you are running some version of BSD Unix
61*9a747e4fSDavid du Colombier  */
62*9a747e4fSDavid du Colombier /* #define BSD 	/* Running on a BSD System */
63*9a747e4fSDavid du Colombier 
64*9a747e4fSDavid du Colombier /*
65*9a747e4fSDavid du Colombier  * DEF_AR_FILE - tar only (required)
66*9a747e4fSDavid du Colombier  *
67*9a747e4fSDavid du Colombier  * DEF_AR_FILE should contain the full pathname of your favorite archive
68*9a747e4fSDavid du Colombier  * device.  Normally this would be a tape drive, but it may be a disk drive
69*9a747e4fSDavid du Colombier  * on those systems that don't have tape drives.
70*9a747e4fSDavid du Colombier  */
71*9a747e4fSDavid du Colombier #define DEF_AR_FILE	"-"	/* The default archive on your system */
72*9a747e4fSDavid du Colombier 
73*9a747e4fSDavid du Colombier /*
74*9a747e4fSDavid du Colombier  * TTY - device which interactive queries should be directed to (required)
75*9a747e4fSDavid du Colombier  *
76*9a747e4fSDavid du Colombier  * This is the device to which interactive queries will be sent to and
77*9a747e4fSDavid du Colombier  * received from.  On most unix systems, this should be /dev/tty, however, on
78*9a747e4fSDavid du Colombier  * some systems, such as MS-DOS, it my need to be different (e.g. "con:").
79*9a747e4fSDavid du Colombier  */
80*9a747e4fSDavid du Colombier /* #define	TTY	"/dev/tty"	/* for most versions of UNIX */
81*9a747e4fSDavid du Colombier /* #define	TTY	"con:"		/* For MS-DOS */
82*9a747e4fSDavid du Colombier #define	TTY	"/dev/cons"		/* for Plan 9 */
83*9a747e4fSDavid du Colombier 
84*9a747e4fSDavid du Colombier /*
85*9a747e4fSDavid du Colombier  * PAXDIR - if you do not have directory access routines
86*9a747e4fSDavid du Colombier  *
87*9a747e4fSDavid du Colombier  * Define PAXDIR if you do not have Doug Gwyn's dirent package installed
88*9a747e4fSDavid du Colombier  * as a system library or you wish to use the version supplied with PAX.
89*9a747e4fSDavid du Colombier  *
90*9a747e4fSDavid du Colombier  * NOTE: DO NOT DEFINE THIS IF YOU HAVE BERKELEY DIRECTORY ACCESS ROUTINES.
91*9a747e4fSDavid du Colombier  */
92*9a747e4fSDavid du Colombier /* #define PAXDIR		/* use paxdir.h paxdir.c */
93*9a747e4fSDavid du Colombier 
94*9a747e4fSDavid du Colombier /*
95*9a747e4fSDavid du Colombier  * DIRENT - directory access routines (required)
96*9a747e4fSDavid du Colombier  *
97*9a747e4fSDavid du Colombier  * If you have Doug Gwyn's dirent package installed, either as a system
98*9a747e4fSDavid du Colombier  * library, or are using the paxdir.c and paxdir.h routines which come with
99*9a747e4fSDavid du Colombier  * PAX, then define dirent.
100*9a747e4fSDavid du Colombier  *
101*9a747e4fSDavid du Colombier  * NOTE: DO NOT DEFINE THIS IF YOU HAVE BERKELEY DIRECTORY ACCESS ROUTINES.
102*9a747e4fSDavid du Colombier  */
103*9a747e4fSDavid du Colombier #define DIRENT		/* use POSIX compatible directory routines */
104*9a747e4fSDavid du Colombier 
105*9a747e4fSDavid du Colombier /*
106*9a747e4fSDavid du Colombier  * OFFSET - compiler dependent offset type
107*9a747e4fSDavid du Colombier  *
108*9a747e4fSDavid du Colombier  * OFFSET is the type which is returned by lseek().  It is different on
109*9a747e4fSDavid du Colombier  * some systems.  Most define it to be off_t, but some define it to be long.
110*9a747e4fSDavid du Colombier  */
111*9a747e4fSDavid du Colombier #define OFFSET	off_t	/* for most BSD, USG and other systems */
112*9a747e4fSDavid du Colombier /* #define OFFSET	long	/* for most of the rest of them... */
113*9a747e4fSDavid du Colombier 
114*9a747e4fSDavid du Colombier /*
115*9a747e4fSDavid du Colombier  * VOID - compiler support for VOID types
116*9a747e4fSDavid du Colombier  *
117*9a747e4fSDavid du Colombier  * If your system does not support void, then this should be defined to
118*9a747e4fSDavid du Colombier  * int, otherwise, it should be left undefined.
119*9a747e4fSDavid du Colombier  *
120*9a747e4fSDavid du Colombier  * For ANSI Systems this should always be blank.
121*9a747e4fSDavid du Colombier  */
122*9a747e4fSDavid du Colombier #ifndef __STDC__
123*9a747e4fSDavid du Colombier /* #define void	int	/* for system which do support void */
124*9a747e4fSDavid du Colombier #endif
125*9a747e4fSDavid du Colombier 
126*9a747e4fSDavid du Colombier /*
127*9a747e4fSDavid du Colombier  * SIG_T - return type for the signal routine
128*9a747e4fSDavid du Colombier  *
129*9a747e4fSDavid du Colombier  * Some systems have signal defines to return an int *, other return a
130*9a747e4fSDavid du Colombier  * void *.  Please choose the correct value for your system.
131*9a747e4fSDavid du Colombier  */
132*9a747e4fSDavid du Colombier #define SIG_T	void	/* signal defined as "void (*signal)()" */
133*9a747e4fSDavid du Colombier /* #define SIG_T	int	/* signal defined as "int (*signal)()" */
134*9a747e4fSDavid du Colombier 
135*9a747e4fSDavid du Colombier /*
136*9a747e4fSDavid du Colombier  * STRCSPN - use the strcspn function included with pax
137*9a747e4fSDavid du Colombier  *
138*9a747e4fSDavid du Colombier  * Some systems do not have the strcspn() function in their C libraries.
139*9a747e4fSDavid du Colombier  * For those system define STRCSPN and the one provided in regexp.c will
140*9a747e4fSDavid du Colombier  * be used.
141*9a747e4fSDavid du Colombier  */
142*9a747e4fSDavid du Colombier /* #define STRCSPN	/* implementation does not have strcspn() */
143*9a747e4fSDavid du Colombier 
144*9a747e4fSDavid du Colombier /*
145*9a747e4fSDavid du Colombier  * STRERROR - use the strerror function included with pax
146*9a747e4fSDavid du Colombier  *
147*9a747e4fSDavid du Colombier  * Non-Ansi systems do not have the strerror() function in their C libraries.
148*9a747e4fSDavid du Colombier  * For those system define STRERROR and the one provided in misc.c will
149*9a747e4fSDavid du Colombier  * be used instead.
150*9a747e4fSDavid du Colombier  */
151*9a747e4fSDavid du Colombier /* #define STRERROR	/* implementation does not have strerror() */
152*9a747e4fSDavid du Colombier 
153*9a747e4fSDavid du Colombier /*
154*9a747e4fSDavid du Colombier 
155*9a747e4fSDavid du Colombier /*
156*9a747e4fSDavid du Colombier  * END OF CONFIGURATION SECTION
157*9a747e4fSDavid du Colombier  *
158*9a747e4fSDavid du Colombier  * Nothing beyond this point should need to be changed
159*9a747e4fSDavid du Colombier  */
160*9a747e4fSDavid du Colombier 
161*9a747e4fSDavid du Colombier #ifdef BSD
162*9a747e4fSDavid du Colombier #ifdef USG
163*9a747e4fSDavid du Colombier #include "You must first edit config.h and Makefile to configure pax."
164*9a747e4fSDavid du Colombier #endif
165*9a747e4fSDavid du Colombier #endif
166*9a747e4fSDavid du Colombier /*
167*9a747e4fSDavid du Colombier  * Do a little sanity checking
168*9a747e4fSDavid du Colombier  */
169*9a747e4fSDavid du Colombier #ifdef PAXDIR
170*9a747e4fSDavid du Colombier #  ifndef DIRENT
171*9a747e4fSDavid du Colombier #    define DIRENT
172*9a747e4fSDavid du Colombier #  endif
173*9a747e4fSDavid du Colombier #endif
174*9a747e4fSDavid du Colombier 
175*9a747e4fSDavid du Colombier #ifdef XENIX_286
176*9a747e4fSDavid du Colombier #  define USG
177*9a747e4fSDavid du Colombier #endif /* XENIX_286 */
178*9a747e4fSDavid du Colombier 
179*9a747e4fSDavid du Colombier #endif /* _PAX_CONFIG_H */
180*9a747e4fSDavid du Colombier 
181*9a747e4fSDavid du Colombier #ifndef __STDC__
182*9a747e4fSDavid du Colombier #define __STDC__
183*9a747e4fSDavid du Colombier #endif
184