1: /* 2: These are machine-configuration dependent 3: tables. To add a machine, be sure to update all 4: these tables, add the "ifdef" entry in "mach.h", 5: and add config? to gothru() in sub.c. 6: For Berkeley, this file corresponds to the following network: 7: 8: ARPA 9: | 10: | 11: | 12: | 13: Ing70-----------CSVAX A B 14: | | | | 15: | | | | 16: | | | | 17: | | | | 18: IngVAX Cory------------C--------------D------------F 19: | | | 20: | | | 21: | | | 22: | | | 23: EECS40----------ESVAX E SRC 24: | /|\ 25: | / | \ 26: | / | \ 27: | / | \ 28: VLSI------------Image Virus Q MathStat 29: 30: The tables must be consistent. 31: 32: 33: For RAND, these tables are: 34: 35: VAX (C) ---------GRAPHICS (A)------- TP (B) 36: 37: For NOSC, these tables are: 38: 39: atts (a) ------- mssf (m) ---------- ccmm (c) 40: 41: */ 42: # ifdef RAND 43: /* GRAPHICS = A */ 44: char configA[] = { /* to get to i, config[i] */ 45: 'a','b','c',000,000, /* a,b,c,d,e */ 46: 000,000,000,000,000, /* f,g,h,i,j */ 47: 000,000,000,000,000, /* k,l,m,n,o */ 48: 000,000,000,000,000, /* p,q,r,s,t */ 49: 000,000,000,000,000, /* u,v,w,x,y */ 50: 000,0 /* z */ 51: }; 52: /* TP = B */ 53: char configB[] = { /* to get to i, config[i] */ 54: 'a','b','a',000,000, /* a,b,c,d,e */ 55: 000,000,000,000,000, /* f,g,h,i,j */ 56: 000,000,000,000,000, /* k,l,m,n,o */ 57: 000,000,000,000,000, /* p,q,r,s,t */ 58: 000,000,000,000,000, /* u,v,w,x,y */ 59: 000,0 /* z */ 60: }; 61: /* VAX = C */ 62: char configC[] = { /* to get to i, config[i] */ 63: 'a','a','c',000,000, /* a,b,c,d,e */ 64: 000,000,000,000,000, /* f,g,h,i,j */ 65: 000,000,000,000,000, /* k,l,m,n,o */ 66: 000,000,000,000,000, /* p,q,r,s,t */ 67: 000,000,000,000,000, /* u,v,w,x,y */ 68: 000,0 /* z */ 69: }; 70: /* if machtype is 71: M_CC netlpr will do lpr w/o an acct. 72: Will pre-encrypt the password. 73: M_INGRES will allow higher file lengths. 74: M_OTHER will give no unusual effects. 75: (when in doubt, machtype should be M_OTHER) 76: */ 77: char machtype[]= { 78: M_OTHER,M_OTHER,M_OTHER,0,0, /* a,b,c,d,e */ 79: 0, 0, 0, 0, 0, /* f,g,h,i,j */ 80: 0, 0, 0, 0, 0, /* k,l,m,n,o */ 81: 0, 0, 0, 0, 0, /* p,q,r,s,t */ 82: 0, 0, 0, 0, 0, /* u,v,w,x,y */ 83: 0, 0}; /* z */ 84: 85: /* this is basically the default machine for each local machine */ 86: char remtable[] = { 87: 'b','a','a',000,000, /* a,b,c,d,e */ 88: 000,000,000,000,000, /* f,g,h,i,j */ 89: 000,000,000,000,000, /* k,l,m,n,o */ 90: 000,000,000,000,000, /* p,q,r,s,t */ 91: 000,000,000,000,000, /* u,v,w,x,y */ 92: 000,0 /* z */ 93: }; 94: /* bad login names */ 95: struct bstruct btable[] = { 96: 0,0 }; 97: /* this table shows the correspondence between 98: machine names like 'Cory' and their internal 99: names, like 'y' */ 100: static struct tt { 101: char *bigname; 102: char lname; 103: } table[] = { 104: "Graphics", 'a', 105: "TP", 'b', 106: "VAX", 'c', 107: 0, 0 108: }; 109: /* end of Rand definitions */ 110: 111: # endif 112: 113: # ifdef NOSC 114: /* Naval Ocean Systems Center */ 115: 116: /* atts (a) */ 117: char configA[] = { /* to get to i, config[i] */ 118: 'a',000,'m',000,000, /* a,b,c,d,e */ 119: 000,000,000,000,000, /* f,g,h,i,j */ 120: 000,000,'m',000,000, /* k,l,m,n,o */ 121: 000,000,000,000,000, /* p,q,r,s,t */ 122: 000,000,000,000,000, /* u,v,w,x,y */ 123: 000,0 /* z */ 124: }; 125: /* ccmm (c) */ 126: char configC[] = { /* to get to i, config[i] */ 127: 'm',000,'c',000,000, /* a,b,c,d,e */ 128: 000,000,000,000,000, /* f,g,h,i,j */ 129: 000,000,'m',000,000, /* k,l,m,n,o */ 130: 000,000,000,000,000, /* p,q,r,s,t */ 131: 000,000,000,000,000, /* u,v,w,x,y */ 132: 000,0 /* z */ 133: }; 134: /* mssf (m) */ 135: char configM[] = { /* to get to i, config[i] */ 136: 'a',000,'c',000,000, /* a,b,c,d,e */ 137: 000,000,000,000,000, /* f,g,h,i,j */ 138: 000,000,'m',000,000, /* k,l,m,n,o */ 139: 000,000,000,000,000, /* p,q,r,s,t */ 140: 000,000,000,000,000, /* u,v,w,x,y */ 141: 000,0 /* z */ 142: }; 143: /* if machtype is 144: M_CC netlpr will do lpr w/o an acct. 145: Will pre-encrypt the password. 146: M_INGRES will allow higher file lengths. 147: M_OTHER will give no unusual effects. 148: (when in doubt, machtype should be M_OTHER) 149: */ 150: char machtype[]= { 151: M_OTHER, 0, M_OTHER, 0, 0, /* a,b,c,d,e */ 152: 0, 0, 0, 0, 0, /* f,g,h,i,j */ 153: 0, 0, M_OTHER, 0, 0, /* k,l,m,n,o */ 154: 0, 0, 0, 0, 0, /* p,q,r,s,t */ 155: 0, 0, 0, 0, 0, /* u,v,w,x,y */ 156: 0, 0}; /* z */ 157: 158: /* this is basically the default machine for each local machine */ 159: char remtable[] = { 160: 'm',000,'m',000,000, /* a,b,c,d,e */ 161: 000,000,000,000,000, /* f,g,h,i,j */ 162: 000,000,'a',000,000, /* k,l,m,n,o */ 163: 000,000,000,000,000, /* p,q,r,s,t */ 164: 000,000,000,000,000, /* u,v,w,x,y */ 165: 000,0 /* z */ 166: }; 167: /* bad login names */ 168: struct bstruct btable[] = { 169: "op", 'a', 170: 0,0 }; 171: /* this table shows the correspondence between 172: machine names like 'Cory' and their internal 173: names, like 'y' */ 174: static struct tt { 175: char *bigname; 176: char lname; 177: } table[] = { 178: "atts", 'a', 179: "ccmm", 'c', 180: "mssf", 'm', 181: 0, 0 182: }; 183: # endif 184: 185: # ifdef BERKELEY 186: /* Berkeley definitions */ 187: 188: /* Computer Center A Machine (A) */ 189: char configA[] = { /* to get to i, config[i] */ 190: 'a','c','c','c','c', /* a,b,c,d,e */ 191: 'c',000,000,'c','c', /* f,g,h,i,j */ 192: 'c','c','c',000,'c', /* k,l,m,n,o */ 193: 000,'c','c','c','c', /* p,q,r,s,t */ 194: 000,'c',000,000,'c', /* u,v,w,x,y */ 195: 'c',0 /* z */ 196: }; 197: /* Computer Center B Machine (B) */ 198: char configB[] = { /* to get to i, config[i] */ 199: 'd','b','d','d','d', /* a,b,c,d,e */ 200: 'd',000,000,'d','d', /* f,g,h,i,j */ 201: 'd','d','d',000,'d', /* k,l,m,n,o */ 202: 000,'d','d','d','d', /* p,q,r,s,t */ 203: 000,'d',000,000,'d', /* u,v,w,x,y */ 204: 'd',0 /* z */ 205: }; 206: /* Computer Center C Machine (C) */ 207: char configC[] = { /* to get to i, config[i] */ 208: 'a','d','c','d','e', /* a,b,c,d,e */ 209: 'd',000,000,'y','y', /* f,g,h,i,j */ 210: 'e','y','y',000,'y', /* k,l,m,n,o */ 211: 000,'e','y','d','e', /* p,q,r,s,t */ 212: 000,'y',000,000,'y', /* u,v,w,x,y */ 213: 'y',0 /* z */ 214: }; 215: /* Computer Center D Machine (D) */ 216: char configD[] = { /* to get to i, config[i] */ 217: 'c','b','c','d','c', /* a,b,c,d,e */ 218: 'f',000,000,'c','c', /* f,g,h,i,j */ 219: 'c','c','c',000,'c', /* k,l,m,n,o */ 220: 000,'c','c','s','c', /* p,q,r,s,t */ 221: 000,'c',000,000,'c', /* u,v,w,x,y */ 222: 'c',0 /* z */ 223: }; 224: /* Computer Center E Machine (E) */ 225: char configE[] = { /* to get to i, config[i] */ 226: 'c','c','c','c','e', /* a,b,c,d,e */ 227: 'c',000,000,'c','c', /* f,g,h,i,j */ 228: 'k','c','c',000,'c', /* k,l,m,n,o */ 229: 000,'q','c','c','t', /* p,q,r,s,t */ 230: 000,'c',000,000,'c', /* u,v,w,x,y */ 231: 'c',0 /* z */ 232: }; 233: /* Computer Center F Machine (F) */ 234: char configF[] = { /* to get to i, config[i] */ 235: 'd','d','d','d','d', /* a,b,c,d,e */ 236: 'f',000,000,'d','d', /* f,g,h,i,j */ 237: 'd','d','d',000,'d', /* k,l,m,n,o */ 238: 000,'d','d','d','d', /* p,q,r,s,t */ 239: 000,'d',000,000,'d', /* u,v,w,x,y */ 240: 'd',0 /* z */ 241: }; 242: /* Project INGRES 11/70 (Ing70) */ 243: char configI[] = { /* to get to i, config[i] */ 244: 'v','v','v','v','v', /* a,b,c,d,e */ 245: 'v',000,000,'i','j', /* f,g,h,i,j */ 246: 'v','v','v',000,'v', /* k,l,m,n,o */ 247: 000,'v','v','v','v', /* p,q,r,s,t */ 248: 000,'v',000,000,'v', /* u,v,w,x,y */ 249: 'v',0 /* z */ 250: }; 251: /* Project INGRES VAX (IngVAX) */ 252: char configJ[] = { /* to get to i, config[i] */ 253: 'i','i','i','i','i', /* a,b,c,d,e */ 254: 'i',000,000,'i','j', /* f,g,h,i,j */ 255: 'j','i','i',000,'i', /* k,l,m,n,o */ 256: 000,'i','i','i','i', /* p,q,r,s,t */ 257: 000,'i',000,000,'i', /* u,v,w,x,y */ 258: 'i',0 /* z */ 259: }; 260: /* Biochemistry (Virus) PDP-11/40 Running V7 */ 261: char configK[] = { /* to get to i, config[i] */ 262: 'e','e','e','e','e', /* a,b,c,d,e */ 263: 'e',000,000,'e','e', /* f,g,h,i,j */ 264: 'k','e','e',000,'e', /* k,l,m,n,o */ 265: 000,'e','e','e','e', /* p,q,r,s,t */ 266: 000,'e',000,000,'e', /* u,v,w,x,y */ 267: 'e',0 /* z */ 268: }; 269: /* Brodersen-Newton VLSI-CAD VAX (VLSI) */ 270: char configL[] = { /* to get to i, config[i] */ 271: 'm','m','m','m','m', /* a,b,c,d,e */ 272: 'm',000,000,'m','m', /* f,g,h,i,j */ 273: 'm','l','m',000,'m', /* k,l,m,n,o */ 274: 000,'m','m','m','m', /* p,q,r,s,t */ 275: 000,'m',000,000,'m', /* u,v,w,x,y */ 276: 'm',0 /* z */ 277: }; 278: /* Sakrison's Image Project 11/40 (Image) */ 279: char configM[] = { /* to get to i, config[i] */ 280: 'o','o','o','o','o', /* a,b,c,d,e */ 281: 'o',000,000,'o','o', /* f,g,h,i,j */ 282: 'o','l','m',000,'o', /* k,l,m,n,o */ 283: 000,'o','o','o','o', /* p,q,r,s,t */ 284: 000,'o',000,000,'o', /* u,v,w,x,y */ 285: 'o',0 /* z */ 286: }; 287: /* Pfeister - Pollack - Sangiovanni Optimization VAX (ESVAX) */ 288: char configO[] = { /* to get to i, config[i] */ 289: 'y','y','y','y','y', /* a,b,c,d,e */ 290: 'y',000,000,'y','y', /* f,g,h,i,j */ 291: 'y','m','m',000,'o', /* k,l,m,n,o */ 292: 000,'y','y','y','y', /* p,q,r,s,t */ 293: 000,'y',000,000,'y', /* u,v,w,x,y */ 294: 'z',0 /* z */ 295: }; 296: /* Computer Center Q Machine (Q) */ 297: char configQ[] = { /* to get to i, config[i] */ 298: 'e','e','e','e','e', /* a,b,c,d,e */ 299: 'e',000,000,'e','e', /* f,g,h,i,j */ 300: 'e','e','e',000,'e', /* k,l,m,n,o */ 301: 000,'q','e','e','e', /* p,q,r,s,t */ 302: 000,'e',000,000,'e', /* u,v,w,x,y */ 303: 'e',0 /* z */ 304: }; 305: /* Fabry's ARPA support VAX - ARPAVAX */ 306: char configR[] = { /* to get to i, config[i] */ 307: 'v','v','v','v','v', /* a,b,c,d,e */ 308: 'v',000,000,'v','v', /* f,g,h,i,j */ 309: 'v','v','v',000,'v', /* k,l,m,n,o */ 310: 000,'v','r','v','v', /* p,q,r,s,t */ 311: 000,'v',000,000,'v', /* u,v,w,x,y */ 312: 'v',0 /* z */ 313: }; 314: /* Survey Research Center 11/40 (SRC) */ 315: char configS[] = { /* to get to i, config[i] */ 316: 'd','d','d','d','d', /* a,b,c,d,e */ 317: 'd',000,000,'d','d', /* f,g,h,i,j */ 318: 'd','d','d',000,'d', /* k,l,m,n,o */ 319: 000,'d','d','s','d', /* p,q,r,s,t */ 320: 000,'d',000,000,'d', /* u,v,w,x,y */ 321: 'd',0 /* z */ 322: }; 323: /* Math-Stat Departement machine 11-45 (MathStat) */ 324: char configT[] = { /* to get to i, config[i] */ 325: 'e','e','e','e','e', /* a,b,c,d,e */ 326: 'e',000,000,'e','e', /* f,g,h,i,j */ 327: 'e','e','e',000,'e', /* k,l,m,n,o */ 328: 000,'e','e','e','t', /* p,q,r,s,t */ 329: 000,'e',000,000,'e', /* u,v,w,x,y */ 330: 'e',0 /* z */ 331: }; 332: /* EECS Research (Fateman - Ernie) VAX (CSVAX) */ 333: char configV[] = { /* to get to i, config[i] */ 334: 'y','y','y','y','y', /* a,b,c,d,e */ 335: 'y',000,000,'i','i', /* f,g,h,i,j */ 336: 'y','y','y',000,'y', /* k,l,m,n,o */ 337: 000,'y','r','y','y', /* p,q,r,s,t */ 338: 000,'v',000,000,'y', /* u,v,w,x,y */ 339: 'y',0 /* z */ 340: }; 341: /* EECS Instructional 11/70 (199 Cory) (Cory) */ 342: char configY[] = { /* to get to i, config[i] */ 343: 'c','c','c','c','c', /* a,b,c,d,e */ 344: 'c',000,000,'v','v', /* f,g,h,i,j */ 345: 'c','o','o',000,'o', /* k,l,m,n,o */ 346: 000,'c','v','c','c', /* p,q,r,s,t */ 347: 000,'v',000,000,'y', /* u,v,w,x,y */ 348: 'o',0 /* z */ 349: }; 350: /* EECS Departmental 11/40 (EECS40) */ 351: char configZ[] = { /* to get to i, config[i] */ 352: 'o','o','o','o','o', /* a,b,c,d,e */ 353: 'o',000,000,'o','o', /* f,g,h,i,j */ 354: 'o','o','o',000,'o', /* k,l,m,n,o */ 355: 000,'o','o','o','o', /* p,q,r,s,t */ 356: 000,'o',000,000,'o', /* u,v,w,x,y */ 357: 'z',0 /* z */ 358: }; 359: /* if machtype is 360: M_CC netlpr will do lpr w/o an acct. 361: Will pre-encrypt the password. 362: M_INGRES will allow higher file lengths. 363: M_OTHER will give no unusual effects. 364: (when in doubt, machtype should be M_OTHER) 365: */ 366: char machtype[]= { 367: M_CC, M_CC, M_CC, M_CC, M_CC, /* a,b,c,d,e */ 368: M_CC, 0, 0, M_INGRES, M_INGRES, /* f,g,h,i,j */ 369: M_OTHER, M_OTHER, M_OTHER, 0, M_OTHER, /* k,l,m,n,o */ 370: 0, M_CC, M_OTHER, M_OTHER, M_OTHER, /* p,q,r,s,t */ 371: 0, M_OTHER, 0, 0, M_OTHER, /* u,v,w,x,y */ 372: M_OTHER, 0}; /* z */ 373: 374: /* this is basically the default machine for each local machine */ 375: char remtable[] = { 376: 'c','d','a','c','c', /* a,b,c,d,e */ 377: 'd',000,000,'j','i', /* f,g,h,i,j */ 378: 'e','m','o',000,'v', /* k,l,m,n,o */ 379: 000,'e','v','d','e', /* p,q,r,s,t */ 380: 000,'y',000,000,'v', /* u,v,w,x,y */ 381: 'i',0 /* z */ 382: }; 383: /* bad login names */ 384: struct bstruct btable[] = { 385: "op", 'a', 386: 0,0 }; 387: /* this table shows the correspondence between 388: machine names like 'Cory' and their internal 389: names, like 'y' */ 390: static struct tt { 391: char *bigname; 392: char lname; 393: } table[] = { 394: "A", 'a', 395: "B", 'b', 396: "C", 'c', 397: "D", 'd', 398: "E", 'e', 399: "F", 'f', 400: "Ing70", 'i', 401: "Ingres", 'i', 402: "IngVAX", 'j', 403: "Virus", 'k', 404: "VLSI", 'l', 405: "Image", 'm', 406: "ESVAX", 'o', 407: "OptVAX", 'o', 408: "Q", 'q', 409: "ARPAVAX", 'r', 410: "SRC", 's', 411: "MathStat", 't', 412: "CSVAX", 'v', 413: "VAX", 'v', 414: "Cory", 'y', 415: "EECS40", 'z', 416: 0, 0 417: }; 418: # endif