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