|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T c
Length: 17342 (0x43be) Types: TextFile Names: »config.h«
└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen └─⟦b5330643c⟧ »./cops/perl-4.019/perl.tar.Z« └─⟦2b9a58213⟧ └─⟦this⟧ »perl-4.019/os2/config.h«
/* config.h * This file was hand tailored for compiling under MS-DOS and MSC 5.1. * Diomidis Spinellis, March 1990. * * Then it got mangled again for compiling under OS/2 and MSC 6.0. * Raymond Chen, June 1990. */ #define OS2 /**/ /* OS/2 supports some additional things MS-DOS doesn't. */ #ifdef OS2 #define PIPE #define GETPPID #define HAS_GETPRIORITY #define HAS_SETPRIORITY #define KILL #endif /* OS2 */ /* SUFFIX: * This symbol, if defined, indicates that the function add_suffix has * been supplied in a system-dependent .c file. This function is * recommended for operating systems whose filenaming conventions * do not permit arbitrary strings as filenames. */ #define SUFFIX /**/ /* EUNICE: * This symbol, if defined, indicates that the program is being compiled * under the EUNICE package under VMS. The program will need to handle * things like files that don't go away the first time you unlink them, * due to version numbering. It will also need to compensate for lack * of a respectable link() command. */ /* VMS: * This symbol, if defined, indicates that the program is running under * VMS. It is currently only set in conjunction with the EUNICE symbol. */ /*#undef EUNICE /**/ /*#undef VMS /**/ /* BIN: * This symbol holds the name of the directory in which the user wants * to put publicly executable images for the package in question. It * is most often a local directory such as /usr/local/bin. */ #define BIN "/usr/local/bin" /**/ /* BYTEORDER: * This symbol contains an encoding of the order of bytes in a long. * Usual values (in octal) are 01234, 04321, 02143, 03412... */ /* CHECK */ #define BYTEORDER 0x1234 /**/ /* CPPSTDIN: * This symbol contains the first part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. Typical value of "cc -{" or "/lib/cpp". */ /* CPPMINUS: * This symbol contains the second part of the string which will invoke * the C preprocessor on the standard input and produce to standard * output. This symbol will have the value "-" if CPPSTDIN needs a minus * to specify standard input, otherwise the value is "". */ /* TODO */ #define CPPSTDIN "cc -{" #define CPPMINUS "" /* HAS_BCMP: * This symbol, if defined, indicates that the bcmp routine is available * to compare blocks of memory. If undefined, use memcmp. If that's * not available, roll your own. */ /*#define HAS_BCMP /**/ /* HAS_BCOPY: * This symbol, if defined, indicates that the bcopy routine is available * to copy blocks of memory. Otherwise you should probably use memcpy(). */ /*#define HAS_BCOPY /**/ /* CHARSPRINTF: * This symbol is defined if this system declares "char *sprintf()" in * stdio.h. The trend seems to be to declare it as "int sprintf()". It * is up to the package author to declare sprintf correctly based on the * symbol. */ /*#define CHARSPRINTF /**/ /* HAS_CRYPT: * This symbol, if defined, indicates that the crypt routine is available * to encrypt passwords and the like. */ /* TODO */ /*#define HAS_CRYPT /**/ /* DOSUID: * This symbol, if defined, indicates that the C program should * check the script that it is executing for setuid/setgid bits, and * attempt to emulate setuid/setgid on systems that have disabled * setuid #! scripts because the kernel can't do it securely. * It is up to the package designer to make sure that this emulation * is done securely. Among other things, it should do an fstat on * the script it just opened to make sure it really is a setuid/setgid * script, it should make sure the arguments passed correspond exactly * to the argument on the #! line, and it should not trust any * subprocesses to which it must pass the filename rather than the * file descriptor of the script to be executed. */ /*#define DOSUID /**/ /* HAS_DUP2: * This symbol, if defined, indicates that the dup2 routine is available * to dup file descriptors. Otherwise you should use dup(). */ #define HAS_DUP2 /**/ /* HAS_FCHMOD: * This symbol, if defined, indicates that the fchmod routine is available * to change mode of opened files. If unavailable, use chmod(). */ /*#define HAS_FCHMOD /**/ /* HAS_FCHOWN: * This symbol, if defined, indicates that the fchown routine is available * to change ownership of opened files. If unavailable, use chown(). */ /*#define HAS_FCHOWN /**/ /* I_FCNTL: * This symbol, if defined, indicates to the C program that it should * include fcntl.h. */ /*#define I_FCNTL /**/ /* HAS_FLOCK: * This symbol, if defined, indicates that the flock() routine is * available to do file locking. */ /*#define HAS_FLOCK /**/ /* HAS_GETGROUPS: * This symbol, if defined, indicates that the getgroups() routine is * available to get the list of process groups. If unavailable, multiple * groups are probably not supported. */ /*#define HAS_GETGROUPS /**/ /* HAS_GETHOSTENT: * This symbol, if defined, indicates that the gethostent() routine is * available to lookup host names in some data base or other. */ /*#define HAS_GETHOSTENT /**/ /* HAS_GETPGRP: * This symbol, if defined, indicates that the getpgrp() routine is * available to get the current process group. */ /*#define HAS_GETPGRP /**/ /* HAS_GETPRIORITY: * This symbol, if defined, indicates that the getpriority() routine is * available to get a process's priority. */ /*#define HAS_GETPRIORITY /**/ /* HAS_HTONS: * This symbol, if defined, indicates that the htons routine (and friends) * are available to do network order byte swapping. */ /* HAS_HTONL: * This symbol, if defined, indicates that the htonl routine (and friends) * are available to do network order byte swapping. */ /* HAS_NTOHS: * This symbol, if defined, indicates that the ntohs routine (and friends) * are available to do network order byte swapping. */ /* HAS_NTOHL: * This symbol, if defined, indicates that the ntohl routine (and friends) * are available to do network order byte swapping. */ /*#define HAS_HTONS /**/ /*#define HAS_HTONL /**/ /*#define HAS_NTOHS /**/ /*#define HAS_NTOHL /**/ /* index: * This preprocessor symbol is defined, along with rindex, if the system * uses the strchr and strrchr routines instead. */ /* rindex: * This preprocessor symbol is defined, along with index, if the system * uses the strchr and strrchr routines instead. */ #define index strchr /* cultural */ #define rindex strrchr /* differences? */ /* I_SYSIOCTL: * This symbol, if defined, indicates that sys/ioctl.h exists and should * be included. */ /*#define I_SYSIOCTL /**/ /* HAS_KILLPG: * This symbol, if defined, indicates that the killpg routine is available * to kill process groups. If unavailable, you probably should use kill * with a negative process number. */ /*#define HAS_KILLPG /**/ /* HAS_MEMCMP: * This symbol, if defined, indicates that the memcmp routine is available * to compare blocks of memory. If undefined, roll your own. */ #define HAS_MEMCMP /**/ /* HAS_MEMCPY: * This symbol, if defined, indicates that the memcpy routine is available * to copy blocks of memory. Otherwise you should probably use bcopy(). * If neither is defined, roll your own. */ #define HAS_MEMCPY /**/ /* HAS_MKDIR: * This symbol, if defined, indicates that the mkdir routine is available * to create directories. Otherwise you should fork off a new process to * exec /bin/mkdir. */ #define HAS_MKDIR /**/ /* HAS_NDBM: * This symbol, if defined, indicates that ndbm.h exists and should * be included. */ #define HAS_NDBM /**/ /* HAS_ODBM: * This symbol, if defined, indicates that dbm.h exists and should * be included. */ /*#define HAS_ODBM /**/ /* HAS_READDIR: * This symbol, if defined, indicates that the readdir routine is available * from the C library to create directories. */ #define HAS_READDIR /**/ /* HAS_RENAME: * This symbol, if defined, indicates that the rename routine is available * to rename files. Otherwise you should do the unlink(), link(), unlink() * trick. */ #define HAS_RENAME /**/ /* HAS_RMDIR: * This symbol, if defined, indicates that the rmdir routine is available * to remove directories. Otherwise you should fork off a new process to * exec /bin/rmdir. */ #define HAS_RMDIR /**/ /* HAS_SETEGID: * This symbol, if defined, indicates that the setegid routine is available * to change the effective gid of the current program. */ /*#define HAS_SETEGID /**/ /* HAS_SETEUID: * This symbol, if defined, indicates that the seteuid routine is available * to change the effective uid of the current program. */ /*#define HAS_SETEUID /**/ /* HAS_SETPGRP: * This symbol, if defined, indicates that the setpgrp() routine is * available to set the current process group. */ /*#define HAS_SETPGRP /**/ /* HAS_SETPRIORITY: * This symbol, if defined, indicates that the setpriority() routine is * available to set a process's priority. */ /*#define HAS_SETPRIORITY /**/ /* HAS_SETREGID: * This symbol, if defined, indicates that the setregid routine is available * to change the real and effective gid of the current program. */ /*#define HAS_SETREGID /**/ /* HAS_SETREUID: * This symbol, if defined, indicates that the setreuid routine is available * to change the real and effective uid of the current program. */ /*#define HAS_SETREUID /**/ /* HAS_SETRGID: * This symbol, if defined, indicates that the setrgid routine is available * to change the real gid of the current program. */ /*#define HAS_SETRGID /**/ /* HAS_SETRUID: * This symbol, if defined, indicates that the setruid routine is available * to change the real uid of the current program. */ /*#define HAS_SETRUID /**/ /* HAS_SOCKET: * This symbol, if defined, indicates that the BSD socket interface is * supported. */ /* HAS_SOCKETPAIR: * This symbol, if defined, indicates that the BSD socketpair call is * supported. */ /* OLDSOCKET: * This symbol, if defined, indicates that the 4.1c BSD socket interface * is supported instead of the 4.2/4.3 BSD socket interface. */ /*#undef HAS_SOCKET /**/ /*#undef HAS_SOCKETPAIR /**/ /*#undef OLDSOCKET /**/ /* STATBLOCKS: * This symbol is defined if this system has a stat structure declaring * st_blksize and st_blocks. */ /*#define STATBLOCKS /**/ /* STDSTDIO: * This symbol is defined if this system has a FILE structure declaring * _ptr and _cnt in stdio.h. */ #define STDSTDIO /**/ /* STRUCTCOPY: * This symbol, if defined, indicates that this C compiler knows how * to copy structures. If undefined, you'll need to use a block copy * routine of some sort instead. */ #define STRUCTCOPY /**/ /* HAS_SYMLINK: * This symbol, if defined, indicates that the symlink routine is available * to create symbolic links. */ /*#define HAS_SYMLINK /**/ /* HAS_SYSCALL: * This symbol, if defined, indicates that the syscall routine is available * to call arbitrary system calls. If undefined, that's tough. */ /*#define HAS_SYSCALL /**/ /* s_tm: * This symbol is defined if this system declares "struct tm" in * in <sys/time.h> rather than <time.h>. We can't just say * -I/usr/include/sys because some systems have both time files, and * the -I trick gets the wrong one. */ /* I_SYS_TIME: * This symbol is defined if this system has the file <sys/time.h>. */ /* * I_TIME: * This symbol is defined if time this system has the file <time.h>. */ /*#undef s_tm /**/ /*#define I_SYS_TIME /**/ #define I_TIME /* VARARGS: * This symbol, if defined, indicates to the C program that it should * include varargs.h. */ #define VARARGS /**/ /* vfork: * This symbol, if defined, remaps the vfork routine to fork if the * vfork() routine isn't supported here. */ /*#undef vfork fork /**/ /* VOIDSIG: * This symbol is defined if this system declares "void (*signal())()" in * signal.h. The old way was to declare it as "int (*signal())()". It * is up to the package author to declare things correctly based on the * symbol. */ #define VOIDSIG /**/ /* HAS_VPRINTF: * This symbol, if defined, indicates that the vprintf routine is available * to printf with a pointer to an argument list. If unavailable, you * may need to write your own, probably in terms of _doprnt(). */ /* CHARVSPRINTF: * This symbol is defined if this system has vsprintf() returning type * (char*). The trend seems to be to declare it as "int vsprintf()". It * is up to the package author to declare vsprintf correctly based on the * symbol. */ #define HAS_VPRINTF /**/ /*#undef CHARVSPRINTF /**/ /* GIDTYPE: * This symbol has a value like gid_t, int, ushort, or whatever type is * used to declare group ids in the kernel. */ /* TODO */ #define GIDTYPE int /**/ /* I_DIRENT: * This symbol, if defined, indicates to the C program that it should * include dirent.h. */ /* DIRNAMLEN: * This symbol, if defined, indicates to the C program that the length * of directory entry names is provided by a d_namlen field. Otherwise * you need to do strlen() on the d_name field. */ /*#undef I_DIRENT /**/ #define DIRNAMLEN /**/ /* I_FCNTL: * This symbol, if defined, indicates to the C program that it should * include fcntl.h. */ /*#define I_FCNTL /**/ /* I_GRP: * This symbol, if defined, indicates to the C program that it should * include grp.h. */ /*#define I_GRP /**/ /* I_PWD: * This symbol, if defined, indicates to the C program that it should * include pwd.h. */ /* PWQUOTA: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_quota. */ /* PWAGE: * This symbol, if defined, indicates to the C program that struct passwd * contains pw_age. */ /*#define I_PWD /**/ /*#define PWQUOTA /**/ /*#undef PWAGE /**/ /* I_SYS_DIR: * This symbol, if defined, indicates to the C program that it should * include sys/dir.h. */ #define I_SYS_DIR /**/ /* I_SYSIOCTL: * This symbol, if defined, indicates that sys/ioctl.h exists and should * be included. */ /*#define I_SYSIOCTL /**/ /* I_VARARGS: * This symbol, if defined, indicates to the C program that it should * include varargs.h. */ #define I_VARARGS /**/ /* INTSIZE: * This symbol contains the size of an int, so that the C preprocessor * can make decisions based on it. */ #define INTSIZE 2 /**/ /* RANDBITS: * This symbol contains the number of bits of random number the rand() * function produces. Usual values are 15, 16, and 31. */ #define RANDBITS 31 /**/ /* SIG_NAME: * This symbol contains an list of signal names in order. */ #ifdef OS2 #define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE",\ /* 0 1 2 3 4 5 6 7 8 */\ "KILL","BUS","SEGV","SYS","PIPE","UALRM","TERM","ALRM","USR2","CLD",\ /* 9 10 11 12 13 14 15 16 17 18 */\ "PWR","USR3","BREAK","ABRT" /*19 20 21 22 */ #else #define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CHLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","USR1","USR2" /**/ #endif /* OS2 */ /* STDCHAR: * This symbol is defined to be the type of char used in stdio.h. * It has the values "unsigned char" or "char". */ #define STDCHAR char /**/ /* UIDTYPE: * This symbol has a value like uid_t, int, ushort, or whatever type is * used to declare user ids in the kernel. */ #define UIDTYPE int /**/ /* VOIDFLAGS: * This symbol indicates how much support of the void type is given by this * compiler. What various bits mean: * * 1 = supports declaration of void * 2 = supports arrays of pointers to functions returning void * 4 = supports comparisons between pointers to void functions and * addresses of void functions * * The package designer should define VOIDUSED to indicate the requirements * of the package. This can be done either by #defining VOIDUSED before * including config.h, or by defining defvoidused in Myinit.U. If the * latter approach is taken, only those flags will be tested. If the * level of void support necessary is not present, defines void to int. */ #ifndef VOIDUSED #define VOIDUSED 7 #endif #define VOIDFLAGS 7 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED #define void int /* is void to be avoided? */ #define M_VOID /* Xenix strikes again */ #endif /* PRIVLIB: * This symbol contains the name of the private library for this package. * The library is private in the sense that it needn't be in anyone's * execution path, but it should be accessible by the world. The program * should be prepared to do ^ expansion. */ #define PRIVLIB "c:/bin/perl" /**/ /* * BUGGY_MSC: * This symbol is defined if you are the unfortunate owner of a buggy * Microsoft C compiler and want to use intrinsic functions. Versions * up to 5.1 are known conform to this definition. */ /*#define BUGGY_MSC /**/ /* * BINARY: * This symbol is defined if you run under an operating system that * distinguishes between binary and text files. If so the function * setmode will be used to set the file into binary mode. */ #define BINARY #define S_ISUID 0 #define S_ISGID 0 #define CASTNEGFLOAT