Annotation of 43BSD/old/berknet/mach.h, revision 1.1.1.1

1.1       root        1: /*     @(#)mach.h      4.6     (Berkeley)      12/27/82        */
                      2: 
                      3: /* sccs id variable */
                      4: static char *mach_h_sid = "@(#)mach.h  1.11";
                      5: 
                      6: /*
                      7: 
                      8:        mach.h  -- define machine-dependent things
                      9: 
                     10: *** Pre-processor Flags ***
                     11: 
                     12: This set of code is controlled by this set of conditional
                     13: compilation flags:
                     14: 
                     15: TESTING                if defined, do not generate tests, etc. which require
                     16:                super-user status.
                     17: 
                     18: OLDTTY         if defined, compile for old 1 character TTY names
                     19: CCTTY          if defined, compile for CC tty name format
                     20:                if neither is defined, use v7 ttyname format
                     21: 
                     22: PASSWDF                compile in code to handle /etc/passwdf - split passwd files
                     23: 
                     24: V6             Assume the v6 features instead of the v7 ones.
                     25: 
                     26: FUID           use the funny uid's present on CC V6
                     27: 
                     28: SENDMAIL       Uses the sendmail program
                     29: 
                     30: HPASSWD                The local machine has the hashed password stuff
                     31: 
                     32: OLDMAIL                mail is in home-directory/.mail
                     33: USRMAIL                mail is in /usr/mail/name
                     34:                (mail is in /usr/spool/mail/name)
                     35: 
                     36: CC             Machine is a Computer Center machine
                     37: NUID           userid (as returned by getuid()) on this machine
                     38: UID1CHAR       Uses vanila Version6 userid's (only 1 byte for uid)
                     39: NOEUID         Does not have the geteuid() system call
                     40: NFREECMD       doesn't allow any "network" free commands
                     41: NOFP           floating point just doesn't work on this machine
                     42: NOREMACCT      allows netlpr's on remote machines without an account
                     43: CSH            use the /bin/csh shell (Paths.h sets BINSH to this path ).
                     44: CRN            CC crn's are passed
                     45: DONTHOLDBIG    large (size > MAXDAYFILE ) jobs wont be held until night for
                     46:                transmission
                     47: 
                     48: SWAB           this machine has byte-ordering reversed from the DEC VAX 
                     49:                and PDP-11 standard (the only current example is Onyx)
                     50: The conditonal flags are first defined
                     51: in "local.h" in this directory.
                     52: 
                     53: For "normal" version 6 machines, there is a dummy machine
                     54: definition for "VANILLA6" which indicates the v6 UNIX options.
                     55: 
                     56: For "normal" version 7 machines, there is a dummy machine
                     57: definition for "VANILLA7" which indicates the v7 UNIX options.
                     58: (VM/UNIX and Berkeley VM/VAX/UNIX can use this)
                     59: */
                     60: /* be sure to include <stdio.h> before these defns */
                     61: 
                     62: # include "local.h"
                     63: # include <sysexits.h>
                     64: 
                     65: /* note NUID is only used in mmail.c */
                     66: 
                     67: # ifdef RAND
                     68: /* definitions for Rand-Unix */
                     69: # ifdef VAX
                     70: # define LOCAL 'v'
                     71: # define NUID (-1)
                     72: # endif VAX
                     73: 
                     74: # ifdef GRAPHICS
                     75: # define V6
                     76: # define OLDTTY
                     77: # define UID1CHAR
                     78: # define OLDMAIL
                     79: # define LOCAL 'g'
                     80: # define NUID (-1)
                     81: # endif GRAPHICS
                     82: 
                     83: # ifdef TP
                     84: # define LOCAL 't'
                     85: # define V6
                     86: # define OLDTTY
                     87: # define UID1CHAR
                     88: # define OLDMAIL
                     89: # define NUID (-1)
                     90: # endif TP
                     91: 
                     92: /* end of definitions for Rand */
                     93: # endif RAND
                     94: 
                     95: 
                     96: # ifdef NOSC
                     97: /* definitions for Naval Ocean Systems Center NOSC */
                     98: # ifdef ATTS
                     99: # define LOCAL 'a'
                    100: # define V6
                    101: # define OLDTTY
                    102: # define UID1CHAR
                    103: # define OLDMAIL
                    104: # define NUID (-1)
                    105: # endif ATTS
                    106: 
                    107: # ifdef CCMM
                    108: # define LOCAL 'c'
                    109: # define V6
                    110: # define OLDTTY
                    111: # define UID1CHAR
                    112: # define OLDMAIL
                    113: # define NUID (-1)
                    114: # endif CCMM
                    115: 
                    116: # ifdef MSSF
                    117: # define V6
                    118: # define OLDTTY
                    119: # define UID1CHAR
                    120: # define OLDMAIL
                    121: # define LOCAL 'm'
                    122: # define NUID (-1)
                    123: # endif MSSF
                    124: 
                    125: /* end of definitions for NOSC */
                    126: 
                    127: # endif NOSC
                    128: 
                    129: # ifdef BERKELEY
                    130: 
                    131: /* all berkeley sites use sendmail.....         (someday?) */
                    132: # define SENDMAIL
                    133: 
                    134: /* CFO - A */
                    135: # ifdef A
                    136: # define CCV7
                    137: # define LOCAL 'a'
                    138: # endif A
                    139: 
                    140: /* CFO - B */
                    141: # ifdef B
                    142: # define CCV7
                    143: # define LOCAL 'b'
                    144: # endif B
                    145: 
                    146: /* CFO - C */
                    147: # ifdef C
                    148: # define CCV7
                    149: # define LOCAL 'c'
                    150: # endif C
                    151: 
                    152: /* CFO - D */
                    153: # ifdef D
                    154: # define CCV7
                    155: # define LOCAL 'd'
                    156: # endif D
                    157: 
                    158: /* CFO - E */
                    159: # ifdef E
                    160: # define CCV7
                    161: # define LOCAL 'e'
                    162: # endif E
                    163: 
                    164: /* CFO - F */
                    165: # ifdef F
                    166: # define CCV7
                    167: # define LOCAL 'f'
                    168: # endif F
                    169: 
                    170: /* CFO - G */
                    171: # ifdef G
                    172: # define LOCAL 'g'
                    173: # define NUID (501)
                    174: # endif G
                    175: 
                    176: /* CFO - Jade */
                    177: # ifdef H
                    178: # define LOCAL 'h'
                    179: # define NUID (501)
                    180: # endif H
                    181: 
                    182: /* CSSG - ucberl70 */
                    183: # ifdef ERL70
                    184: # define LOCAL 'i'
                    185: # define NUID (174)
                    186: # endif ERL70
                    187: 
                    188: /* Ingres Group - ucbingres */
                    189: # ifdef INGVAX
                    190: # define LOCAL 'j'
                    191: # define NUID (37)
                    192: # define FREELPR
                    193: # endif INGVAX
                    194: 
                    195: /* CS network hub - ucbvax */
                    196: # ifdef UCBVAX
                    197: # define LOCAL 'k'
                    198: # define NUID (35)
                    199: # define MAXSENDQ 35
                    200: # endif UCBVAX
                    201: 
                    202: /* Brodersen - ucboz */
                    203: # ifdef OZ
                    204: # define LOCAL 'l'
                    205: # define NUID (501)
                    206: # endif OZ
                    207: 
                    208: /* EE-Signal Proccessing - ucbmedea */
                    209: # ifdef MEDEA
                    210: # define LOCAL 'm'
                    211: # define NUID (501)
                    212: # endif MEDEA
                    213: 
                    214: /* Fateman - ucbkim */
                    215: # ifdef KIM
                    216: # define LOCAL 'n'
                    217: # define NUID (501)
                    218: # endif KIM
                    219: 
                    220: /* EECS-Research - ucbesvax */
                    221: # ifdef ESVAX
                    222: # define LOCAL 'o'
                    223: # define NUID (67)
                    224: # endif ESVAX
                    225: 
                    226: /* Newton CAD - ucbcad */
                    227: # ifdef CAD
                    228: # define LOCAL 'p'
                    229: # define NUID (67)
                    230: # endif CAD
                    231: 
                    232: /* currently unused */
                    233: # ifdef Q
                    234: # define LOCAL 'q'
                    235: # endif Q
                    236: 
                    237: /* Fabry CSRG - ucbarpa */
                    238: # ifdef ARPAVAX
                    239: # define LOCAL 'r'
                    240: # define NUID (501)
                    241: # define MAXSENDQ 35
                    242: # endif ARPAVAX
                    243: 
                    244: /* CFO & SRC - SRC */
                    245: # ifdef SRC
                    246: # define LOCAL 's'
                    247: # define NUID  38
                    248: # endif SRC
                    249: 
                    250: /* Math/Stat Dept - MathStat */
                    251: # ifdef MATHSTAT
                    252: # define LOCAL 't'
                    253: # define NUID (-1)
                    254: # endif MATHSTAT
                    255: 
                    256: /* Fabry CSRG - c70 */
                    257: # ifdef C70
                    258: # define LOCAL 'u'
                    259: # define NUID (501)
                    260: # define MAXSENDQ 35
                    261: # endif C70
                    262: 
                    263: /* CS Research - ucbernie */
                    264: # ifdef CSVAX
                    265: # define LOCAL 'v'
                    266: # define NUID (501)
                    267: # define MAXSENDQ 35
                    268: # endif CSVAX
                    269: 
                    270: /* Stat Dept - statvax */
                    271: # ifdef STATVAX
                    272: # define LOCAL 'w'
                    273: # define NUID
                    274: # endif STATVAX
                    275: 
                    276: /* CS Research - Onyx */
                    277: # ifdef ONYX
                    278: # define LOCAL 'x'
                    279: # define NUID (10)
                    280: # define NOFP
                    281: # define SWAB
                    282: # undef PARMLIST
                    283: # define PARMLIST 20
                    284: # endif ONYX
                    285: 
                    286: /* EECS Dept - Cory */
                    287: # ifdef CORY
                    288: # define LOCAL 'y'
                    289: # define NUID (10)
                    290: # define MAXSENDQ 35
                    291: # include <signal.h>
                    292: # undef NETLDISC
                    293: # endif CORY
                    294: 
                    295: /* EECS Dept Administrative - ucbear */
                    296: # ifdef EARVAX
                    297: # define LOCAL 'z'
                    298: # define NUID ((1 << 8) | 104)
                    299: # endif EARVAX
                    300: 
                    301: /* end of Berkeley definitions */
                    302: # endif BERKELEY
                    303: 
                    304: /*
                    305:        the CC V6 machines are all the same.
                    306:        splitting their type into a separate group will
                    307:        allow the binary patching program "patchd" to be
                    308:        used to patch the binaries so the sources can be compiled
                    309:        on one CC machine and the binaries shipped around
                    310:        to the other CC machines.
                    311: */
                    312: # ifdef CCV7
                    313: # undef CC
                    314: # define NOREMACCT
                    315: # define NUID (10)
                    316: # define MAXSENDQ 35
                    317: # define CSH
                    318: # define CRN
                    319: # define MAGICCRN      "3700"          /* default CC crn */
                    320: # endif CCV7
                    321: 
                    322: # ifdef CC
                    323: # define V6
                    324: # define CCV6
                    325: # define CCTTY
                    326: # define PASSWDF
                    327: # define FUID
                    328: # define USRMAIL
                    329: # define NUID (115)
                    330: # define MAXSENDQ 35
                    331: # define NOREMACCT
                    332: # define CSH
                    333: # define CRN
                    334: # define MAGICCRN      "3700"          /* default CC crn */
                    335: # endif CC
                    336: 
                    337: /* default version 6 options */
                    338: # ifdef VANILLA6
                    339: # define V6
                    340: # define UID1CHAR
                    341: # define OLDTTY
                    342: # define OLDMAIL
                    343: # endif VANILLA6
                    344: 
                    345: /* default version 7 options */
                    346: # ifdef VANILLA7
                    347: # endif VANILLA7
                    348: 
                    349: # ifndef V6
                    350: # include <sys/param.h>
                    351: # include <sys/stat.h>
                    352: # include <dir.h>
                    353: # include <sys/times.h>
                    354: # include <ctype.h>
                    355: # include <sgtty.h>
                    356: # include <errno.h>
                    357: # include <pwd.h>
                    358: # include <assert.h>
                    359: # include <setjmp.h>
                    360: # define getsize(S)    ((S)->st_size)
                    361: # define gettime()     (time(0))
                    362: int    (*signal())();
                    363: /*
                    364: #define        SIG_DFL (int (*)())0
                    365: #define        SIG_IGN (int (*)())1
                    366: */
                    367: 
                    368: # else V6
                    369: 
                    370: # define ETXTBSY 26
                    371: # define S_IREAD 0400
                    372: # define S_IFMT 060000
                    373: # define S_IFDIR 0040000
                    374: # define ANYP 0300
                    375: # define ECHO 010
                    376: # define ROOTINO 1
                    377: # define TIOCEXCL 0
                    378: # define SIGHUP                1
                    379: # define SIGINT        2
                    380: # define SIGQUIT       3
                    381: # define SIGKILL               9
                    382: # define SIGALRM       14
                    383: # define SIGTERM       15
                    384: # define SIG_IGN       1
                    385: # define ASSERT "Assertion failed: file %s, line %d\n", __FILE__, __LINE__);exit(1);}}
                    386: # define assert(ex) {if (!(ex)){fprintf(stderr,ASSERT
                    387: # define isprint(c) (040 <= c && c <= 0176)
                    388: # define longjmp(a,b) reset()
                    389: # define setjmp(a) setexit()
                    390: 
                    391: 
                    392: struct tms {                           /* see times - sect 2 */
                    393:        int     tms_utime;              /* user time */
                    394:        int     tms_stime;              /* system time */
                    395:        long    tms_cutime;             /* user time, children */
                    396:        long    tms_cstime;             /* system time, children */
                    397:        };
                    398: struct sgttyb {
                    399:        char sg_ispeed;
                    400:        char sg_ospeed;
                    401:        char sg_erase;
                    402:        char sg_kill;
                    403:        int sg_flags;
                    404:        };
                    405: struct passwd { /* see getpwent(3) */
                    406:        char    *pw_name;
                    407:        char    *pw_passwd;
                    408:        int     pw_uid;
                    409:        int     pw_gid;
                    410:        int     pw_quota;
                    411:        char    *pw_comment;
                    412:        char    *pw_gecos;
                    413:        char    *pw_dir;
                    414:        char    *pw_shell;
                    415:        };
                    416: /* /usr/include/varargs.h */
                    417: typedef char *va_list;
                    418: # define va_dcl int va_alist;
                    419: # define va_start(list) list = (char *) &va_alist
                    420: # define va_end(list)
                    421: # define va_arg(list,mode) ((mode *)(list += sizeof(mode)))[-1]
                    422: 
                    423: typedef int jmp_buf[10];
                    424: long gettime(), getsize();
                    425: # endif V6
                    426: /* end of non-v7 defns */
                    427: 
                    428: # ifdef FUID
                    429: # define getgid(s) (0)
                    430: # endif FUID
                    431: 
                    432: # ifdef UID1CHAR
                    433: # define uidmask(S) (S & 0377)
                    434: # define geteuid() ((getuid()>>8)&0377)
                    435: # else UID1CHAR
                    436: # define uidmask(S) (S)
                    437: # endif UID1CHAR
                    438: 
                    439: # ifdef NOEUID
                    440: # define geteuid(S) (-1)
                    441: # endif NOEUID
                    442: 
                    443: # ifdef CCTTY
                    444: # define ttyname(S) myttyname(S)
                    445: # endif CCTTY
                    446: 
                    447: #ifdef CRN
                    448: #include       <gecos.h>
                    449: #endif CRN
                    450: 
                    451: # ifdef OLDTTY
                    452: /* this is the version 7 utmp structure. the getutmp() procedure
                    453:    converts the v6 structure into this format
                    454: */
                    455: struct utmp {
                    456:        char    ut_line[8];             /* tty name */
                    457:        char    ut_name[8];             /* user id */
                    458:        long    ut_time;                /* time on */
                    459: };
                    460: # else OLDTTY
                    461: # include <utmp.h>
                    462: # endif OLDTTY
                    463: 
                    464: # define chfromf(S) (S ? 'T' : 'F')
                    465: 
                    466: /* functions */
                    467: 
                    468: char *hgethome(), *calloc(), *ctime(), *getenv();
                    469: char *getname(), *getun(), *getlogin();
                    470: char *SnFromUid(), *ttyname();
                    471: struct passwd *getpwnam(), *getpwuid();
                    472: long atol(),time();
                    473: struct utmp *getutmp();

unix.superglobalmegacorp.com

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