📄 book.t
字号:
01061 int (*compar) (const void *, const void *)) );01062 _PROTOTYPE( unsigned long int strtoul,01063 (const char *_nptr, char **_endptr, int _base) );01064 01065 #ifdef _MINIX01066 _PROTOTYPE( int putenv, (const char *_name) );01067 _PROTOTYPE(int getopt, (int _argc, char **_argv, char *_opts));01068 extern char *optarg;01069 extern int optind, opterr, optopt;.Ep 14 include/stdlib.h01070 #endif /* _MINIX */01071 01072 #endif /* STDLIB_H */++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/termios.h ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++01100 /* The <termios.h> header is used for controlling tty modes. */01101 01102 #ifndef _TERMIOS_H01103 #define _TERMIOS_H01104 01105 typedef unsigned short tcflag_t;01106 typedef unsigned char cc_t;01107 typedef unsigned int speed_t;01108 01109 #define NCCS 20 /* size of cc_c array, some extra space01110 * for extensions. */01111 01112 /* Primary terminal control structure. POSIX Table 7-1. */01113 struct termios {01114 tcflag_t c_iflag; /* input modes */01115 tcflag_t c_oflag; /* output modes */01116 tcflag_t c_cflag; /* control modes */01117 tcflag_t c_lflag; /* local modes */01118 speed_t c_ispeed; /* input speed */01119 speed_t c_ospeed; /* output speed */01120 cc_t c_cc[NCCS]; /* control characters */01121 };01122 01123 /* Values for termios c_iflag bit map. POSIX Table 7-2. */01124 #define BRKINT 0x0001 /* signal interrupt on break */01125 #define ICRNL 0x0002 /* map CR to NL on input */01126 #define IGNBRK 0x0004 /* ignore break */01127 #define IGNCR 0x0008 /* ignore CR */01128 #define IGNPAR 0x0010 /* ignore characters with parity errors */01129 #define INLCR 0x0020 /* map NL to CR on input */01130 #define INPCK 0x0040 /* enable input parity check */01131 #define ISTRIP 0x0080 /* mask off 8th bit */01132 #define IXOFF 0x0100 /* enable start/stop input control */01133 #define IXON 0x0200 /* enable start/stop output control */01134 #define PARMRK 0x0400 /* mark parity errors in the input queue */01135 01136 /* Values for termios c_oflag bit map. POSIX Sec. 7.1.2.3. */01137 #define OPOST 0x0001 /* perform output processing */01138 01139 /* Values for termios c_cflag bit map. POSIX Table 7-3. */01140 #define CLOCAL 0x0001 /* ignore modem status lines */01141 #define CREAD 0x0002 /* enable receiver */01142 #define CSIZE 0x000C /* number of bits per character */01143 #define CS5 0x0000 /* if CSIZE is CS5, characters are 5 bits */01144 #define CS6 0x0004 /* if CSIZE is CS6, characters are 6 bits */01145 #define CS7 0x0008 /* if CSIZE is CS7, characters are 7 bits */01146 #define CS8 0x000C /* if CSIZE is CS8, characters are 8 bits */01147 #define CSTOPB 0x0010 /* send 2 stop bits if set, else 1 */01148 #define HUPCL 0x0020 /* hang up on last close */01149 #define PARENB 0x0040 /* enable parity on output */.Op 15 include/termios.h01150 #define PARODD 0x0080 /* use odd parity if set, else even */01151 01152 /* Values for termios c_lflag bit map. POSIX Table 7-4. */01153 #define ECHO 0x0001 /* enable echoing of input characters */01154 #define ECHOE 0x0002 /* echo ERASE as backspace */01155 #define ECHOK 0x0004 /* echo KILL */01156 #define ECHONL 0x0008 /* echo NL */01157 #define ICANON 0x0010 /* canonical input (erase and kill enabled) */01158 #define IEXTEN 0x0020 /* enable extended functions */01159 #define ISIG 0x0040 /* enable signals */01160 #define NOFLSH 0x0080 /* disable flush after interrupt or quit */01161 #define TOSTOP 0x0100 /* send SIGTTOU (job control, not implemented*/01162 01163 /* Indices into c_cc array. Default values in parentheses. POSIX Table 7-5. */01164 #define VEOF 0 /* cc_c[VEOF] = EOF char (^D) */01165 #define VEOL 1 /* cc_c[VEOL] = EOL char (undef) */01166 #define VERASE 2 /* cc_c[VERASE] = ERASE char (^H) */01167 #define VINTR 3 /* cc_c[VINTR] = INTR char (DEL) */01168 #define VKILL 4 /* cc_c[VKILL] = KILL char (^U) */01169 #define VMIN 5 /* cc_c[VMIN] = MIN value for timer */01170 #define VQUIT 6 /* cc_c[VQUIT] = QUIT char (^\) */01171 #define VTIME 7 /* cc_c[VTIME] = TIME value for timer */01172 #define VSUSP 8 /* cc_c[VSUSP] = SUSP (^Z, ignored) */01173 #define VSTART 9 /* cc_c[VSTART] = START char (^S) */01174 #define VSTOP 10 /* cc_c[VSTOP] = STOP char (^Q) */01175 01176 #define _POSIX_VDISABLE (cc_t)0xFF /* You can't even generate this 01177 * character with 'normal' keyboards.01178 * But some language specific keyboards01179 * can generate 0xFF. It seems that all01180 * 256 are used, so cc_t should be a01181 * short...01182 */01183 01184 /* Values for the baud rate settings. POSIX Table 7-6. */01185 #define B0 0x0000 /* hang up the line */01186 #define B50 0x1000 /* 50 baud */01187 #define B75 0x2000 /* 75 baud */01188 #define B110 0x3000 /* 110 baud */01189 #define B134 0x4000 /* 134.5 baud */01190 #define B150 0x5000 /* 150 baud */01191 #define B200 0x6000 /* 200 baud */01192 #define B300 0x7000 /* 300 baud */01193 #define B600 0x8000 /* 600 baud */01194 #define B1200 0x9000 /* 1200 baud */01195 #define B1800 0xA000 /* 1800 baud */01196 #define B2400 0xB000 /* 2400 baud */01197 #define B4800 0xC000 /* 4800 baud */01198 #define B9600 0xD000 /* 9600 baud */01199 #define B19200 0xE000 /* 19200 baud */01200 #define B38400 0xF000 /* 38400 baud */01201 01202 /* Optional actions for tcsetattr(). POSIX Sec. 7.2.1.2. */01203 #define TCSANOW 1 /* changes take effect immediately */01204 #define TCSADRAIN 2 /* changes take effect after output is done */01205 #define TCSAFLUSH 3 /* wait for output to finish and flush input */01206 01207 /* Queue_selector values for tcflush(). POSIX Sec. 7.2.2.2. */01208 #define TCIFLUSH 1 /* flush accumulated input data */01209 #define TCOFLUSH 2 /* flush accumulated output data */.Ep 16 include/termios.h01210 #define TCIOFLUSH 3 /* flush accumulated input and output data */01211 01212 /* Action values for tcflow(). POSIX Sec. 7.2.2.2. */01213 #define TCOOFF 1 /* suspend output */01214 #define TCOON 2 /* restart suspended output */01215 #define TCIOFF 3 /* transmit a STOP character on the line */01216 #define TCION 4 /* transmit a START character on the line */01217 01218 01219 /* Function Prototypes. */01220 #ifndef _ANSI_H01221 #include <ansi.h>01222 #endif01223 01224 _PROTOTYPE( int tcsendbreak, (int _fildes, int _duration) );01225 _PROTOTYPE( int tcdrain, (int _filedes) );01226 _PROTOTYPE( int tcflush, (int _filedes, int _queue_selector) );01227 _PROTOTYPE( int tcflow, (int _filedes, int _action) );01228 _PROTOTYPE( speed_t cfgetispeed, (const struct termios *_termios_p) );01229 _PROTOTYPE( speed_t cfgetospeed, (const struct termios *_termios_p) );01230 _PROTOTYPE( int cfsetispeed, (struct termios *_termios_p, speed_t _speed) );01231 _PROTOTYPE( int cfsetospeed, (struct termios *_termios_p, speed_t _speed) );01232 _PROTOTYPE( int tcgetattr, (int _filedes, struct termios *_termios_p) );01233 _PROTOTYPE( int tcsetattr, \01234 (int _filedes, int _opt_actions, const struct termios *_termios_p) );01235 01236 #define cfgetispeed(termios_p) ((termios_p)->c_ispeed)01237 #define cfgetospeed(termios_p) ((termios_p)->c_ospeed)01238 #define cfsetispeed(termios_p, speed) ((termios_p)->c_ispeed = (speed), 0)01239 #define cfsetospeed(termios_p, speed) ((termios_p)->c_ospeed = (speed), 0)01240 01241 #ifdef _MINIX01242 /* Here are the local extensions to the POSIX standard for Minix. Posix01243 * conforming programs are not able to access these, and therefore they are01244 * only defined when a Minix program is compiled.01245 */01246 01247 /* Extensions to the termios c_iflag bit map. */01248 #define IXANY 0x0800 /* allow any key to continue ouptut */01249 01250 /* Extensions to the termios c_oflag bit map. They are only active iff01251 * OPOST is enabled. */01252 #define ONLCR 0x0002 /* Map NL to CR-NL on output */01253 #define XTABS 0x0004 /* Expand tabs to spaces */01254 #define ONOEOT 0x0008 /* discard EOT's (^D) on output) */01255 01256 /* Extensions to the termios c_lflag bit map. */01257 #define LFLUSHO 0x0200 /* Flush output. */01258 01259 /* Extensions to the c_cc array. */01260 #define VREPRINT 11 /* cc_c[VREPRINT] (^R) */01261 #define VLNEXT 12 /* cc_c[VLNEXT] (^V) */01262 #define VDISCARD 13 /* cc_c[VDISCARD] (^O) */01263 01264 /* Extensions to baud rate settings. */01265 #define B57600 0x0100 /* 57600 baud */01266 #define B115200 0x0200 /* 115200 baud */01267 01268 /* These are the default settings used by the kernel and by 'stty sane' */01269 .Op 17 include/termios.h01270 #define TCTRL_DEF (CREAD | CS8 | HUPCL)01271 #define TINPUT_DEF (BRKINT | ICRNL | IXON | IXANY)01272 #define TOUTPUT_DEF (OPOST | ONLCR)01273 #define TLOCAL_DEF (ISIG | IEXTEN | ICANON | ECHO | ECHOE)01274 #define TSPEED_DEF B960001275 01276 #define TEOF_DEF '\4' /* ^D */01277 #define TEOL_DEF _POSIX_VDISABLE01278 #define TERASE_DEF '\10' /* ^H */01279 #define TINTR_DEF '\177' /* ^? */01280 #define TKILL_DEF '\25' /* ^U */01281 #define TMIN_DEF 101282 #define TQUIT_DEF '\34' /* ^\ */01283 #define TSTART_DEF '\21' /* ^Q */01284 #define TSTOP_DEF '\23' /* ^S */01285 #define TSUSP_DEF '\32' /* ^Z */01286 #define TTIME_DEF 001287 #define TREPRINT_DEF '\22' /* ^R */01288 #define TLNEXT_DEF '\26' /* ^V */01289 #define TDISCARD_DEF '\17' /* ^O */01290 01291 /* Window size. This information is stored in the TTY driver but not used.01292 * This can be used for screen based applications in a window environment. 01293 * The ioctls TIOCGWINSZ and TIOCSWINSZ can be used to get and set this 01294 * information.01295 */01296 01297 struct winsize01298 {01299 unsigned short ws_row; /* rows, in characters */01300 unsigned short ws_col; /* columns, in characters */01301 unsigned short ws_xpixel; /* horizontal size, pixels */01302 unsigned short ws_ypixel; /* vertical size, pixels */01303 };01304 #endif /* _MINIX */01305 01306 #endif /* _TERMIOS_H */++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/a.out.h ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++01400 /* The <a.out> header file describes the format of executable files. */01401 01402 #ifndef _AOUT_H01403 #define _AOUT_H01404 01405 struct exec { /* a.out header */01406 unsigned char a_magic[2]; /* magic number */01407 unsigned char a_flags; /* flags, see below */01408 unsigned char a_cpu; /* cpu id */01409 unsigned char a_hdrlen; /* length of header */01410 unsigned char a_unused; /* reserved for future use */01411 unsigned short a_version; /* version stamp (not used at present) */01412 long a_text; /* size of text segement in bytes */01413 long a_data; /* size of data segment in bytes */01414 long a_bss; /* size of bss segment in bytes */.Ep 18 include/a.out.h01415 long a_entry; /* entry point */01416 long a_total; /* total memory allocated */01417 long a_syms; /* size of symbol table */01418 01419 /* SHORT FORM ENDS HERE */01420 long a_trsize; /* text relocation size */01421 long a_drsize; /* data relocation size */01422 long a_tbase; /* text relocation base */01423 long a_dbase; /* data relocation base */01424 };01425 01426 #define A_MAGIC0 (unsigned char) 0x0101427 #define A_MAGIC1 (unsigned char) 0x0301428 #define BADMAG(X) ((X).a_magic[0] != A_MAGIC0 ||(X).a_magic[1] != A_MAGIC1)01429 01430 /* CPU Id of TARGET machine (byte order coded in low order two bits) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -