1 /* 2 * Copyright (c) 1992-1998 Michael A. Cooper. 3 * This software may be freely used and distributed provided it is not 4 * sold for profit or used in part or in whole for commercial gain 5 * without prior written agreement, and the author is credited 6 * appropriately. 7 */ 8 9 /* 10 * $Id: os-tracebsd.h,v 6.6 1998/11/10 04:00:06 mcooper Exp $ 11 * @(#)os-tracebsd.h 12 */ 13 14 /* 15 * Multiflow TRACEBSD 16 */ 17 18 /* 19 * Define the following name for use in #ifdef's. 20 * The value should be all upper-case with no periods (.). 21 */ 22 #if !defined(TRACEBSD) 23 #define TRACEBSD 24 #endif 25 26 /* 27 * Set process args to messages that show up when running ps(1) 28 * 29 * Under some OS's, the SETARGS code will cause ": is not an identifier" 30 * errors for "special" commands. 31 */ 32 #define SETARGS 33 34 /* 35 * Define the type of directory routines your system has. 36 */ 37 #define DIR_TYPE DIR_DIRECT 38 39 /* 40 * Determine what routines we have to get filesystem info. 41 */ 42 #define FSI_TYPE FSI_GETMNTENT 43 44 /* 45 * Type of non-blocking I/O. 46 */ 47 #define NBIO_TYPE NBIO_FCNTL 48 49 /* 50 * Type of wait() function to use. 51 */ 52 #define WAIT_TYPE WAIT_WAIT3 53 54 /* 55 * Type of argument passed to wait() (above). 56 */ 57 #define WAIT_ARG_TYPE union wait 58 59 /* 60 * Select the type of executable file format. 61 */ 62 #define EXE_TYPE EXE_AOUT 63 64 /* 65 * Select the type of statfs() system call (if any). 66 */ 67 #define STATFS_TYPE STATFS_BSD 68 69 /* 70 * Type of arg functions we have. 71 */ 72 #define ARG_TYPE ARG_VARARGS 73 74 /* 75 * Do we have select()? 76 */ 77 #define HAVE_SELECT 78 79 /* 80 * UID argument type for chown() 81 */ 82 typedef uid_t CHOWN_UID_T; 83 84 /* 85 * GID argument type for chown() 86 */ 87 typedef int CHOWN_GID_T; 88 89 /* 90 * Our types, usually these are uid_t and gid_t. 91 */ 92 typedef int UID_T; /* Must be signed */ 93 typedef int GID_T; /* Must be signed */ 94 95 /* 96 * Generic pointer, used by memcpy, malloc, etc. Usually char or void. 97 */ 98 typedef char POINTER; 99 100 /* 101 * OS doesn't define pid_t 102 */ 103 typedef int pid_t; 104 105 /* 106 * Type of set file time function available 107 */ 108 #define SETFTIME_TYPE SETFTIME_UTIMES 109 110 /* 111 * We have fchown() 112 */ 113 #define HAVE_FCHOWN 114 115 /* 116 * We have fchmod() 117 */ 118 #define HAVE_FCHMOD 119