/* lib_def.h --- Software Tools Subsytem Library definitions */ /* Version 9 */ #ifndef __LIB_DEF__ #define __LIB_DEF__ 1 /* Defines for I/O routines: */ #define MAXFILESTATE 258 /* NFILES + Primos funits + 2 */ #define MAXLSBUF 16384 #define MAXFDBUF 16384 #define MAXTERMBUF 128 #define MAXSTDPORTS 6 #define MAXARGV 256 #define MAXKILLRESP 33 #define MAXPRTDEST 17 #define MAXPRTFORM 9 #define NFILES 128 #define BUFSIZE 128 #define FDSIZE 16 #define DEVTTY 1 #define DEVDSK 2 #define DEVNULL 3 #define FDBYTE 0100000 #define FDREAD 0040000 #define FDWRITE 0020000 #define FDEOF 0010000 #define FDERR 0004000 #define FDCOMP 0002000 #define FDOPENED 0001000 #define FDFTYPE 0000700 #define FDMBZ 0000060 #define FDLASTOP 0000017 #define FDINITIAL 0 #define FDREADF 1 #define FDWRITEF 2 #define FDGETLIN 3 #define FDPUTLIN 4 /* Defines for 'lopen$': */ #define FTN 0100000 #define EXP 040000 #define LNR 020000 #define NHD 010000 #define NEJ 04000 #define RAW 02000 #define DEF 0400 #define LOC 0200 #define ATL 0100 #define COP 020 /* Defines for 'print' and 'input': */ #define FORMATFLAG '*' #define ADDRFORM 'a' #define BOOLFORM 'b' #define CHARFORM 'c' #define DOUBLEFORM 'd' #define FLOATFORM 'f' #define GOTOFORM 'g' #define HOLLERITHFORM 'h' #define INTFORM 'i' #define RCINTFORM 'j' #define SKIPFORM 'k' #define LONGINTFORM 'l' #define RCLONGINTFORM 'm' #define NLINE 'n' #define PACKEDSTRINGFORM 'p' #define REALFORM 'r' #define STRINGFORM 's' #define TABFORM 't' #define DEFAULTFORM 'u' #define VARYINGFORM 'v' #define FILLFORM 'x' #define YESNOFORM 'y' /* Defines for memory management routines: */ #define DS_MEMEND 1 #define DS_AVAIL 2 #define DS_CLOSE 8 #define DS_LINK 1 #define DS_SIZE 0 #define DS_OHEAD 2 /* Defines for symbol table routines: */ #define ST_LINK 0 #define ST_DATA 1 #define ST_HTABSIZE 43 /* Defines for template expander: */ #define MAXTEMPHASH 37 #define MAXTEMPBUF (4096 - MAXTEMPHASH) #define TEMP_DATE 1 #define TEMP_TIME 2 #define TEMP_USER 3 #define TEMP_PID 4 #define TEMP_PASSWD 5 #define TEMP_DAY 6 #define TEMP_HOME 7 /* Defines for 'tscan$' */ #define REATTACH 1 #define PREORDER 2 #define POSTORDER 4 #define EODPAUSE 8 #define EOD 0 /* must be different from EOF, ERR, OK */ #define MAXLEV 32 #define DESCEND 1 #define COULDNT_DESCEND 2 #define GET_NEXT_ENTRY 3 #define ASCEND 4 #define ATEOD 5 /* defines for 'ldseg$' */ #define SG_SEGNUM 1 #define SG_FLAGS 0 #define SG_NODESIZE 9 #define SG_CHAIN 8 #define SG_NULL 0100000 /* Definitions used only for pattern matching */ #define PAT_AND '&' #define PAT_ANY '?' #define PAT_BOL '%' #define PAT_CCL '[' #define PAT_CCLEND ']' #define PAT_CHAR 'a' #define PAT_CLOSIZE 4 #define PAT_CLOSURE '*' #define PAT_COUNT 1 #define PAT_DASH '-' #define PAT_DITTO -3 #define PAT_EOL '$' #define PAT_MARK -10 /* to different than any digit */ #define PAT_NCCL 'n' #define PAT_NOT '~' #define PAT_PREVCL 2 #define PAT_START 3 #define PAT_START_TAG '{' #define PAT_STOP_TAG '}' /* Miscellaneous definitions: */ #define MAX_NAME 7 #define MAXINTEGER 077777 #define CHARS_PER_WORD 2 #define NOTEXECUTABLE 1 #define ISCIFILE -4 #define NOTFOUND 0 #define FOUND 1 #define DAM 1 #define SAM 0 /* VTH library definitions */ #define MAXSCREEN 4335 #define MAXCOORDTYPE 6 #define MAXSEQTYPE 4 #define MAXROWS 51 #define MAXCOLS 85 #define MAXSEQ 12 #define MAXPB 400 #define MAXDEF 1000 #define MAXNEST 20 #define MAXESCAPE 20 #define untyped integer #define SEQSIZE 6 /* character sequence size for cursor control */ #define send_str(s) do { auto int i; for (i = 0; s[i] != EOS; i++) \ tnoua (s[i] << 8, 1); } while (0) #define send_char(c) tnoua ( c << 8, 1) #define vt$pk(c, scr, row, col) (scr [row][col] = c) #define vt$upk(c, scr, row, col) (c = scr [row][col]) #define CHARSETSIZE 128 #define CHARSETBASE 127 #define DEFINITION 4000 #define GET_NEXT_TABLE 5000 #define MOVE_LEFT 1000 #define TAB_LEFT 1001 #define SKIP_LEFT 1002 #define SCAN_LEFT 1003 #define GOBBLE_LEFT 1004 #define GOBBLE_TAB_LEFT 1005 #define KILL_LEFT 1006 #define GOBBLE_SCAN_LEFT 1007 #define MOVE_RIGHT 1008 #define TAB_RIGHT 1009 #define SKIP_RIGHT 1010 #define SCAN_RIGHT 1011 #define GOBBLE_RIGHT 1012 #define GOBBLE_TAB_RIGHT 1013 #define KILL_RIGHT 1014 #define GOBBLE_SCAN_RIGHT 1015 #define RETURN 1016 #define KILL_RIGHT_AND_RETURN 1017 #define FUNNY_RETURN 1018 #define MOVE_UP 1019 #define MOVE_DOWN 1020 #define INSERT_BLANK 1021 #define INSERT_TAB 1022 #define INSERT_NEWLINE 1023 #define TOGGLE_INSERT_MODE 1024 #define SHIFT_CASE 1025 #define KILL_ALL 1026 #define FIX_SCREEN 1027 #define VTH_ESCAPE 1028 #define DEFINE 1029 #define UNDEFINE 1030 #define TABSET 1031 #define TABRESET 1032 #define TABCLEAR 1033 #define CLEAR_SCREEN 1 #define CLEAR_TO_EOL 2 #define CLEAR_TO_EOS 3 #define CURSOR_HOME 4 #define CURSOR_LEFT 5 #define CURSOR_RIGHT 6 #define CURSOR_UP 7 #define CURSOR_DOWN 8 #define ABS_POS 9 #define VERT_POS 10 #define HOR_POS 11 #define COORD_TY+E 12 #define DELAY_TIME 13 #define ROWS 14 #define COLUMNS 15 #define SHIFT_IN 16 #define SHIFT_OUT 17 #define SHIFT_TYPE 18 #define WRAP_AROUND 19 #define INSERT_LINE 20 #define DELETE_LINE 21 #define INSERT_CHAR 22 #define DELETE_CHAR 23 #define INSERT_STRING 24 #define NOMSG 0 /* values for message owner */ #define TIME_MSG -1 #define CHAR_MSG -2 #define INS_MSG -3 #define CASE_MSG -4 #define min (a, b) ((a) > (b) ? (a) : (b)) #define max (a, b) ((a) < (b) ? (a) : (b)) #define bound(a, b, c) max (b , min (a, c)) #endif