Annotation of 3BSD/cmd/net/defs.h, revision 1.1.1.1

1.1       root        1: # define THEKEY "hellotherekids"
                      2: /*
                      3:    get all the machine dependencies, standard I/O, and the
                      4:    configuration definitions (LOCAL machine, etc.)
                      5: */
                      6: 
                      7: # include <stdio.h>
                      8: 
                      9: # define min(a,b) (a > b ? b : a)
                     10: # define getremote(S) (remtable[(S)-'a'])
                     11: 
                     12: /* adjustable parameters, may differ per machine */
                     13: 
                     14: # define MAXBREAD      3
                     15: # define ATIME                 20
                     16: # define DBV           0
                     17: # define BLOCKSIZE     500
                     18: # define SIZE          100
                     19: # define INITFILE      "/usr/net/initfile"
                     20: # define NSEND                 20
                     21: # define SAMPL                 3600            /* 1 hour = 3600 */
                     22: # define BIGSAMPL      64800L          /* 18 hours = 64800L */
                     23: # define LINKS         9
                     24: # define SUPERUSER     0
                     25: 
                     26: /* adjustable parameters, must be same on all machines */
                     27: 
                     28: /* MAXFILE is the file size limit.  If changed on one machine 
                     29:    but not the others, files bigger than the common minimum will
                     30:    be flushed with no guarantee of err msgs. Thus if one link
                     31:    is to be of a different limit than the others, make sure the users
                     32:    know this.
                     33: */
                     34: # define MAXFILE       100000L
                     35: # define MAXFILELARGE  500000L
                     36: /* the version of the protocol the network speaks */
                     37: # define VMAJOR                1
                     38: # define VMINOR        0
                     39: /* the time constant added to all time stamps sent around the net */
                     40: # define TIMEBASE      282098011L
                     41: /* the number of mail forwarding hops allowed before looping is detected */
                     42: # define MAXHOPS       30
                     43: 
                     44: /* non-adjustable constants */
                     45: 
                     46: /* PARMLIST = max size of variable length parm list used in protocol */
                     47: # define PARMLIST 2000
                     48: /* FNS = max length of file name string */
                     49: # define FNS 50
                     50: /* NS = length of UNIX user name*/
                     51: # define NS 10
                     52: /* returned by prot.c */
                     53: # define BROKENREAD -2
                     54: # define WRITEFAIL -3
                     55: # define INCR 040
                     56: # define MINSIZE 50
                     57: 
                     58: /* flags for packet type (pcode) */
                     59: # define RESET 01
                     60: # define REQUEST 02
                     61: # define ACK 04
                     62: # define PURGE 020
                     63: 
                     64: /* flags for mach type */
                     65: # define M_CORY 1
                     66: # define M_CC 2
                     67: # define M_VAX 3
                     68: # define M_INGRES 4
                     69: # define M_SRC 5
                     70: # define M_OTHER 6
                     71: 
                     72: /* codes for cflag, powers of two, max (8 bits - 'a'), others may be added */
                     73: 
                     74: /* F_QUIET means send back only error messages and output of programs,
                     75:    don't send back confimation with no data */
                     76: /* F_NONOTIFY means don't send back anything, ever, 
                     77:    even if there are errors (used for responses, etc.) */
                     78: 
                     79: # define F_QUIET       02
                     80: # define F_NONOTIFY    04
                     81: 
                     82: 
                     83: /* 
                     84:    at this point bring in the locally-dependent definitions.
                     85:    this way the above parms may be altered.
                     86: */
                     87: # include "mach.h"
                     88: # include "Paths.h"
                     89: 
                     90: /* structure declarations */
                     91: struct packet {
                     92:        short seqno;
                     93:        char pcode;
                     94:        char len;
                     95:        char chksum;
                     96:        char data[1];
                     97:        };
                     98:        
                     99: /* the chksum is only on a per-perpacket level,
                    100:    which is not enough.
                    101:    There should be a checksum on the entire file as well.
                    102:    */
                    103: struct dumpstruc {
                    104:        long shorttime, longtime, elaptot, waittime, waittot;   /* in secs */
                    105:        long outime, ostime;                            /* in 60ths sec */
                    106:        long nbytesent,nbytercv, bytetot;               /* in bytes */
                    107:        int nretrans, nabnormal, nloop;
                    108:        int ncksum,npacksent,npackrcv;
                    109:        int nnetcp,nnetlpr,nsmail,nnetmail,nresp,nnet;
                    110:        int npass, nsend, nsendfail;
                    111:        };
                    112: 
                    113: struct bstruct {
                    114:        char *bname;
                    115:        char bmach;
                    116:        };
                    117: /* functions */
                    118: 
                    119: char *calloc(), *crypt(), *ctime(), *getenv(), *longname();
                    120: char *SnFromUid(), *comptime(), *getpass(), *handlesp(), *SnCurrent();
                    121: FILE *mopen(), *fdopen();
                    122: struct passwd *getpwnam(), *getpwuid(), *PwdCurrent(), *getpwent();
                    123: struct packet *getpacket();
                    124: long fixuplong(),atol();
                    125: 
                    126: /* variables */
                    127: extern errno;
                    128: extern char *sys_errlist[];
                    129: int debugflg;
                    130: char remote, local;            /* must be global, remote is not initialized*/
                    131: char netcmd[],senddir[], resfile[], Bsh[];
                    132: char machtype[], remtable[];
                    133: 
                    134: /* used to pass around info about user */
                    135: struct info {
                    136:        char login[NS];
                    137:        char mpasswd[20];
                    138:        int muid;               /* combines uid and gid for FUID */
                    139:        int mgid;               /* unused for FUID */
                    140:        char dir[FNS];
                    141:        char loginshell[FNS];
                    142:        char localname[NS];
                    143:        int jobno;
                    144:        char defcmd[FNS];
                    145:        char force;             /* if true, always prompt for login and pass */
                    146:        char nonotify;          /* if true, don't send anything back */
                    147:        char nowrite;           /* if true, mail rather than write to user */
                    148:        char quiet;             /* if true, only send a response back if rc !=0
                    149:                                   or if there is stdout or stderr */
                    150:        char sTtyname[20];      /* tty user is on,full name e.g. /dev/tty0 */
                    151:        char sCmdAct[BUFSIZ];   /* the actual command the net will exec */
                    152:        char sCmdVirt[BUFSIZ];  /* the command the user thinks he is getting */
                    153:        long lTtytime;          /* the time recorded for tty login in utmp */
                    154:        } status;

unix.superglobalmegacorp.com

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