|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1980 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: * ! 6: * @(#)config.h 5.3 (Berkeley) 4/18/86 ! 7: */ ! 8: ! 9: /* ! 10: * Config. ! 11: */ ! 12: #include <sys/types.h> ! 13: ! 14: #define NODEV ((dev_t)-1) ! 15: ! 16: struct file_list { ! 17: struct file_list *f_next; ! 18: char *f_fn; /* the name */ ! 19: u_char f_type; /* see below */ ! 20: u_char f_flags; /* see below */ ! 21: short f_special; /* requires special make rule */ ! 22: char *f_needs; ! 23: /* ! 24: * Random values: ! 25: * swap space parameters for swap areas ! 26: * root device, etc. for system specifications ! 27: */ ! 28: union { ! 29: struct { /* when swap specification */ ! 30: dev_t fuw_swapdev; ! 31: int fuw_swapsize; ! 32: } fuw; ! 33: struct { /* when system specification */ ! 34: dev_t fus_rootdev; ! 35: dev_t fus_argdev; ! 36: dev_t fus_dumpdev; ! 37: } fus; ! 38: } fun; ! 39: #define f_swapdev fun.fuw.fuw_swapdev ! 40: #define f_swapsize fun.fuw.fuw_swapsize ! 41: #define f_rootdev fun.fus.fus_rootdev ! 42: #define f_argdev fun.fus.fus_argdev ! 43: #define f_dumpdev fun.fus.fus_dumpdev ! 44: }; ! 45: ! 46: /* ! 47: * Types. ! 48: */ ! 49: #define DRIVER 1 ! 50: #define NORMAL 2 ! 51: #define INVISIBLE 3 ! 52: #define PROFILING 4 ! 53: #define SYSTEMSPEC 5 ! 54: #define SWAPSPEC 6 ! 55: ! 56: /* ! 57: * Attributes (flags). ! 58: */ ! 59: #define CONFIGDEP 1 ! 60: ! 61: struct idlst { ! 62: char *id; ! 63: struct idlst *id_next; ! 64: }; ! 65: ! 66: struct device { ! 67: int d_type; /* CONTROLLER, DEVICE, UBA or MBA */ ! 68: struct device *d_conn; /* what it is connected to */ ! 69: char *d_name; /* name of device (e.g. rk11) */ ! 70: struct idlst *d_vec; /* interrupt vectors */ ! 71: int d_pri; /* interrupt priority */ ! 72: int d_addr; /* address of csr */ ! 73: int d_unit; /* unit number */ ! 74: int d_drive; /* drive number */ ! 75: int d_slave; /* slave number */ ! 76: #define QUES -1 /* -1 means '?' */ ! 77: #define UNKNOWN -2 /* -2 means not set yet */ ! 78: int d_dk; /* if init 1 set to number for iostat */ ! 79: int d_flags; /* nlags for device init */ ! 80: struct device *d_next; /* Next one in list */ ! 81: }; ! 82: #define TO_NEXUS (struct device *)-1 ! 83: ! 84: struct config { ! 85: char *c_dev; ! 86: char *s_sysname; ! 87: }; ! 88: ! 89: /* ! 90: * Config has a global notion of which machine type is ! 91: * being used. It uses the name of the machine in choosing ! 92: * files and directories. Thus if the name of the machine is ``vax'', ! 93: * it will build from ``Makefile.vax'' and use ``../vax/inline'' ! 94: * in the makerules, etc. ! 95: */ ! 96: int machine; ! 97: char *machinename; ! 98: #define MACHINE_VAX 1 ! 99: #define MACHINE_SUN 2 ! 100: ! 101: /* ! 102: * For each machine, a set of CPU's may be specified as supported. ! 103: * These and the options (below) are put in the C flags in the makefile. ! 104: */ ! 105: struct cputype { ! 106: char *cpu_name; ! 107: struct cputype *cpu_next; ! 108: } *cputype; ! 109: ! 110: /* ! 111: * A set of options may also be specified which are like CPU types, ! 112: * but which may also specify values for the options. ! 113: * A separate set of options may be defined for make-style options. ! 114: */ ! 115: struct opt { ! 116: char *op_name; ! 117: char *op_value; ! 118: struct opt *op_next; ! 119: } *opt, *mkopt; ! 120: ! 121: char *ident; ! 122: char *ns(); ! 123: char *tc(); ! 124: char *qu(); ! 125: char *get_word(); ! 126: char *path(); ! 127: char *raise(); ! 128: ! 129: int do_trace; ! 130: ! 131: char *index(); ! 132: char *rindex(); ! 133: char *malloc(); ! 134: char *strcpy(); ! 135: char *strcat(); ! 136: char *sprintf(); ! 137: ! 138: #if MACHINE_VAX ! 139: int seen_mba, seen_uba; ! 140: #endif ! 141: ! 142: struct device *connect(); ! 143: struct device *dtab; ! 144: dev_t nametodev(); ! 145: char *devtoname(); ! 146: ! 147: char errbuf[80]; ! 148: int yyline; ! 149: ! 150: struct file_list *ftab, *conf_list, **confp; ! 151: char *PREFIX; ! 152: ! 153: int timezone, hadtz; ! 154: int dst; ! 155: int profiling; ! 156: ! 157: int maxusers; ! 158: ! 159: #define eq(a,b) (!strcmp(a,b))
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.