Annotation of researchv9/sys/conf/src/config/config.h, revision 1.1.1.1

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();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.