|
|
1.1 ! root 1: /* ! 2: * config.h 1.5 81/05/22 ! 3: * Definitions that everybody needs to know ! 4: */ ! 5: #include <sys/types.h> ! 6: ! 7: #define eq(a,b) (strcmp(a,b) == 0) ! 8: #define TRUE 1 ! 9: #define FALSE 0 ! 10: #define DRIVER 1 ! 11: #define NORMAL 2 ! 12: #define INVISIBLE 3 ! 13: ! 14: #define TO_NEXUS (struct device *)-1 ! 15: ! 16: #define STREAM_DEVICE 1 ! 17: #define BLOCK_DEVICE 2 ! 18: #define CHAR_DEVICE 3 ! 19: #define LINE_DISC 4 ! 20: #define FILE_SYS 5 ! 21: #define NDEVTYPE 5 ! 22: ! 23: struct file_list { ! 24: char *f_fn; ! 25: int f_type; ! 26: struct file_list *f_next; ! 27: char *f_needs; ! 28: }; ! 29: ! 30: struct dev_list { ! 31: char *dev_name; ! 32: int dev_standard; ! 33: int dev_type; ! 34: int dev_num; ! 35: long dev_mask; ! 36: char *dev_if; ! 37: char *dev_prefix; ! 38: struct dev_list *dev_next; ! 39: }; ! 40: ! 41: struct idlst { ! 42: char *id; ! 43: struct idlst *id_next; ! 44: int vec; ! 45: }; ! 46: ! 47: struct litlst { ! 48: char *line; ! 49: struct litlst *lit_next; ! 50: }; ! 51: ! 52: typedef char bool; ! 53: ! 54: struct device { ! 55: int d_type; /* CONTROLLER, DEVICE, UBA or MBA */ ! 56: struct device *d_conn; /* What it is connected to */ ! 57: char *d_name; /* Name of device (e.g. rk11) */ ! 58: struct idlst *d_vec; /* interrupt vectors */ ! 59: int d_pri; /* interrupt priority */ ! 60: int d_addr; /* Address of csr */ ! 61: int d_unit; /* Unit number */ ! 62: int d_drive; /* Drive number */ ! 63: int d_slave; /* Slave number */ ! 64: #define QUES -1 /* -1 means '?' */ ! 65: #define UNKNOWN -2 /* -2 means not set yet */ ! 66: bool d_dk; /* if init 1 set to number for iostat */ ! 67: int d_flags; /* Flags for device init */ ! 68: int d_count; /* # for pseudo devs */ ! 69: struct device *d_next; /* Next one in list */ ! 70: u_short d_mach; /* Sun - machine type (0 = all)*/ ! 71: u_short d_bus; /* Sun - bus type (0 = unknown) */ ! 72: }; ! 73: ! 74: struct config { ! 75: char *c_dev; ! 76: char *s_sysname; ! 77: }; ! 78: ! 79: /* ! 80: * Config has a global notion of which machine type is ! 81: * being used. It uses the name of the machine in choosing ! 82: * files and directories. Thus if the name of the machine is ``vax'', ! 83: * it will build from ``makefile.vax'' and use ``../vax/asm.sed'' ! 84: * in the makerules, etc. ! 85: */ ! 86: int machine; ! 87: char *machinename; ! 88: #define MACHINE_VAX 1 ! 89: #define MACHINE_SUN2 2 ! 90: #define MACHINE_SUN3 3 ! 91: ! 92: struct cputype { ! 93: char *cpu_name; ! 94: struct cputype *cpu_next; ! 95: } *cputype; ! 96: struct opt { ! 97: char *op_name; ! 98: struct opt *op_next; ! 99: } *opt; ! 100: char *ident, *mkfile, *ns(), *malloc(), *tc(), *qu(); ! 101: bool do_trace, seen_mba, seen_uba; ! 102: struct device *connect(); ! 103: struct device *dtab; ! 104: char errbuf[80]; ! 105: int yyline; ! 106: struct file_list *ftab, *conf_list, *confp; ! 107: int hz, timezone, hadtz, maxusers, dst; ! 108: struct dev_list *devtab; ! 109: struct litlst *littab; ! 110: int max_num[NDEVTYPE+1]; ! 111: ! 112: #define WEOF (char *)EOF ! 113: char *get_word(); ! 114: ! 115: #define GLOBAL(file) gpath(file) /* file for all systems */ ! 116: #define LOCAL(file) file /* file for just our system */ ! 117: char *gpath();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.