1 /* 2 * nn Linux system definition file (nn/conf/s-linux.h), prepared by 3 * ddb@ddb.com (David Dyer-Bennet) 7-Aug-96. 4 * For Linux kernel 2.0 (tested on 2.0.11), based on work from 5 * kai@toppoint.de (Kai Voigt) and another person who did not sign 6 * his work. 7 */ 8 9 /* 10 * Include header files containing the following definitions: 11 * 12 * off_t, time_t, struct stat 13 */ 14 15 #include <sys/types.h> 16 #include <sys/stat.h> 17 18 19 /* 20 * Define if your system instead has <termios.h> 21 */ 22 23 #define HAVE_TERMIOS_H /* */ 24 25 /* 26 * Define to use terminfo database. 27 * Otherwise, termcap is used 28 */ 29 30 /* #define USE_TERMINFO /* */ 31 32 /* 33 * Specify the library (or libraries) containing the termcap/terminfo 34 * routines. 35 * 36 * Notice: nn only uses the low-level terminal access routines 37 * (i.e. it does not use curses). 38 */ 39 40 #define TERMLIB -lncurses 41 42 /* 43 * Define HAVE_STRCHR if strchr() and strrchr() are available 44 */ 45 46 #define HAVE_STRCHR /* */ 47 48 /* 49 * Define if a signal handler has type void (see signal.h) 50 */ 51 52 #define SIGNAL_HANDLERS_ARE_VOID /* */ 53 54 /* 55 * Define if signals must be set again after they are caught 56 */ 57 58 #define RESET_SIGNAL_WHEN_CAUGHT /* */ 59 60 /* 61 * Define FAKE_INTERRUPT if a keyboard interrupt (^C) cannot interrupt 62 * a read() system call. This happens on a few BSD based systems 63 * which don't have SV_INTERRUPT defined in <signal.h> and no 64 * siginterrupt() call to make systems call interruptable. 65 * However, if siginterrupt() is available, but SV_INTERRUPT isn't 66 * defined, then simply define that instead of FAKE_INTERRUPT! 67 */ 68 69 /* #define FAKE_INTERRUPT /* */ 70 71 /* 72 * Define HAVE_HARD_SLEEP if sending a SIGALRM isn't enough to 73 * interrupt a sleep() call - typical symptom is that nnadmin W 74 * doesn't wakeup the nnmaster. 75 */ 76 77 /* #define HAVE_HARD_SLEEP /* BSD ? */ 78 79 /* 80 * Define HAVE_UALARM if your system has a 4.3 BSD like ualarm() call. 81 * Else define MICRO_ALARM(n) to timeout in n/10 seconds if possible. 82 * Don't define either if system only has the standard alarm() call. 83 */ 84 85 /* #define HAVE_UALARM /* BSD 4.3 */ 86 /* #define MICRO_ALARM(n) xxxx(n) /* */ 87 88 /* 89 * Define if your system has BSD like job control (SIGTSTP works) 90 */ 91 92 #define HAVE_JOBCONTROL /* */ 93 94 95 /* 96 * Define if your system has a 4.3BSD like syslog library. 97 */ 98 99 #undef HAVE_SYSLOG 100 101 /* 102 * Define if your system provides the "directory(3X)" access routines 103 * 104 * If true, include the header file(s) required by the package below 105 * (remember that <sys/types.h> or equivalent is included above) 106 * Also typedef Direntry to the proper struct type. 107 */ 108 109 #define HAVE_DIRECTORY /* */ 110 111 #include <dirent.h> /* System V */ 112 /* #include <sys/dir.h> /* BSD */ 113 114 typedef struct dirent Direntry; /* System V */ 115 /* typedef struct direct Direntry; /* BSD */ 116 117 /* 118 * Define if your system has a mkdir() library routine 119 */ 120 121 #define HAVE_MKDIR /* */ 122 123 /* 124 * Pick one: 125 * Define HAVE_GETHOSTNAME if you have a BSD like gethostname routine. 126 * Define HAVE_UNAME if a system V compatible uname() is available. 127 * Define HOSTNAME_FILE "...." to a file containing the hostname. 128 * Define HOSTNAME_WHOAMI if sysname is defined in <whoami.h>. 129 * 130 * As a final resort, define HOSTNAME to the name of your system 131 * (in config.h). 132 */ 133 134 #define HAVE_GETHOSTNAME /* BSD systems */ 135 /* #define HAVE_UNAME */ /* System V */ 136 /* #define HOSTNAME_FILE "/etc/uucpname" /* or another file */ 137 /* #define HOSTNAME_WHOAMI /* in <whoami.h> */ 138 139 /* 140 * Define HAVE_MULTIGROUP if system has simultaneous multiple group 141 * membership capability (BSD style). 142 * Also define NGROUPS or include the proper .h file if NGROUPS is 143 * not defined in <sys/param.h>. 144 */ 145 146 #define HAVE_MULTIGROUP /* BSD */ 147 148 /* 149 * Define DETACH_TERMINAL to be a command sequence which 150 * will detatch a process from the control terminal 151 * Also include system files needed to perform this HERE. 152 * If not possible, just define it (empty) 153 */ 154 155 /* #include "...." */ 156 157 #define DETACH_TERMINAL /* setpgrp(); */ 158 159 160 /* 161 * Specify where the Bourne Shell is. 162 */ 163 164 #define SHELL "/bin/sh" 165 166 /* 167 * Define OLD_AWK to the name of the "old awk" program if your 168 * standard 'awk' is 'nawk' (new awk). Use full path if necessary. 169 * (This is a temporary hack until I get time to fix the scripts 170 * which breaks nawk). 171 */ 172 173 /* #define OLD_AWK "oawk" /* */ 174 175 /* 176 * Define AVOID_SHELL_EXEC if the system gets confused by 177 * #!/bin/sh 178 * lines in shell scripts, e.g. only reads #! and thinks it 179 * is a csh script. 180 */ 181 182 /* #define AVOID_SHELL_EXEC /* */ 183 184 /* 185 * Specify the default mailer 186 */ 187 188 /* #define MAILX "/usr/bin/mailx" /* SV */ 189 /* #define MAILX "/usr/ucb/Mail" /* BSD */ 190 #define MAILX "/bin/mailx" /* linux */ 191 192 /* 193 * Define the maximum length of any pathname that may occur 194 */ 195 196 #define FILENAME 256 197 198 /* 199 * Define USE_MALLOC_H if the faster malloc() in -lmalloc should be used. 200 * This requires that -lmalloc is added to EXTRA_LIB below. 201 * 202 * You can tune the malloc package through the following definitions 203 * according to the descriptions in malloc(3X): 204 */ 205 206 /* #define USE_MALLOC_H /* */ 207 208 /* #define MALLOC_GRAIN sizeof(double) /* M_GRAIN */ 209 /* #define MALLOC_MAXFAST (MALLOC_GRAIN*4) /* M_MXFAST */ 210 /* #define MALLOC_FASTBLOCKS 100 /* M_NLBLKS */ 211 212 /* 213 * NNTP support requires tcp/ip with socket interface. 214 * 215 * Define NO_RENAME if the rename() system call is not available. 216 * Define EXCELAN if the tcp/ip package is EXCELAN based. 217 * Define NNTP_EXTRA_LIB to any libraries required only for nntp. 218 */ 219 220 /* #define NO_RENAME /* */ 221 /* #define EXCELAN /* */ 222 /* #define NNTP_EXTRA_LIB -lsocket /* */ 223 224 /* 225 * Define standard compiler flags here: 226 */ 227 228 #define COMPILER_FLAGS -O2 229 230 /* 231 * Define standard loader flags here: 232 */ 233 234 #define LOADER_FLAGS -L/usr/lib 235 236 /* 237 * If your system requires other libraries when linking nn 238 * specify them here: 239 */ 240 241 #define EXTRA_LIB 242 243 /* 244 * Stuff that config.h says to define in your system file... 245 */ 246 247 /* 248 * Define RESIZING to make nn understand dynamic window-resizing. 249 * (It uses the TIOCGWINSZ ioctl found on most 4.3BSD systems) 250 */ 251 252 #define RESIZING 253 254