|
|
1.1 ! root 1: #define snchan 1 ! 2: /* Spider channel to file system - but ! 3: also change "/dev/tiu/d?" in nfs1.c */ ! 4: #define DSZ 16 /*directory entry size*/ ! 5: #define DEPTH 15 ! 6: ! 7: int vflag; /* flag for key arguments */ ! 8: int nflg; /* make file temporoary on file store */ ! 9: int iflag; ! 10: int xflag; ! 11: ! 12: ! 13: int tme[2]; /* modified time of file */ ! 14: char buf[512]; ! 15: char cmdbuf[512]; ! 16: char *cbp; ! 17: #define NARG 9 ! 18: char rply [128]; ! 19: char nam[DEPTH * 14 + DSZ + 2]; ! 20: /* stack for extracting or deleting directory */ ! 21: struct xstk{ ! 22: char *first; /* pointer to first title for direct. */ ! 23: char *pos; ! 24: char *lst; /* pter to last \*/ ! 25: }stack[DEPTH]; ! 26: struct stk{ ! 27: int sff; ! 28: char *pos; ! 29: int pad; ! 30: }; ! 31: struct xstk *xsp; ! 32: int dirbuf[50]; ! 33: int ubuf[50]; ! 34: int statbuf[40]; ! 35: ! 36: ! 37: ! 38: int nchar; ! 39: int fn; /*Spider network file id*/ ! 40: ! 41: char *terr ; ! 42: ! 43: char op /*op code*/; ! 44: char pseudoop; ! 45: char **eargv; ! 46: char *np; /*pointer into nam[]*/ ! 47: char *bp /*pointer into buf[]*/; ! 48: char *tp /*pointer into *argv[]*/; ! 49: char *fsp; /* pointer to arg-modified for the filestore */ ! 50: struct stk *sp; /*pointer into stack[]*/ ! 51: int ff; /*file being processed*/ ! 52: int code; /*dev/tiu parameter*/ ! 53: int wchar; ! 54: int sum; /*check sum of data bytes*/ ! 55: int length; /*number of bytes transmitted*/ ! 56: ! 57: char *stat1 ; ! 58: ! 59: char *ng ; ! 60: ! 61: char *nxt ; ! 62: char *last ; ! 63: ! 64: ! 65: #define NTYPE 1 /* vtype for name item */ ! 66: #define WTYPE 2 /* vtype for w-store reference */ ! 67: #define ETYPE 4 /* vtype for 2-word error code */ ! 68: #define RTYPE 5 /* vtype for file reference */ ! 69: #define XTYPE 6 /* default operand */ ! 70: #define STYPE 7 /* vtype for status item */ ! 71: #define DTYPE 8 /* vtype for directory entry */ ! 72: #define FTYPE 9 /* vtype for file entry */ ! 73: #define IITYPE 10 /* vtype for 2-word integer entry */ ! 74: #define ITYPE 11 /* vtype of 1-word integer */ ! 75: #define LTYPE 14 /* vtype for skip label */ ! 76: #define ATYPE 15 /* vtype for account */ ! 77: #define MAXTYPE 15 /* maximum value of vtype */ ! 78: ! 79: ! 80: /*values of user op codes */ ! 81: ! 82: #define OK 128 ! 83: #define DEFINE 129 ! 84: #define REDEFINE 130 ! 85: #define DELETE 131 ! 86: #define EOM 133 ! 87: #define XMT 135 ! 88: #define POP 137 ! 89: #define CDIR 138 ! 90: #define OPEN 140 ! 91: #define CLOSE 141 ! 92: #define SEEK 142 ! 93: #define READ 143 ! 94: #define WRITE 144 ! 95: #define TRUNCATE 145 ! 96: #define LOGIN 146 ! 97: #define QUIT 147 ! 98: #define LIST 148 ! 99: #define STATUS 149 ! 100: #define UNIQUE 151 ! 101: #define ASSIGN 154 ! 102: #define FCREATE 155 ! 103: #define IF 156 ! 104: #define FI 157 ! 105: #define SKIP 158 ! 106: #define DCREATE 159 ! 107: #define UNLESS 161 ! 108: ! 109: # define OPNUM 33 /* number of legal op codes */ ! 110: ! 111: int diroff; ! 112: int unix; ! 113: /* ! 114: * Current format of File Store I-node ! 115: */ ! 116: struct spstat { ! 117: int f_dev; ! 118: int f_number; ! 119: int f_mode; ! 120: char f_nlink; ! 121: char f_uid; ! 122: char f_state; ! 123: char f_size0; ! 124: char *f_size1; ! 125: char f_seq; ! 126: char f_vol; ! 127: int f_accnt[2]; ! 128: int f_perm[3]; ! 129: int f_addr[8]; ! 130: int f_spare[8]; ! 131: int f_dmp[2]; ! 132: long f_acctime; ! 133: long f_modtime; ! 134: }; ! 135: int command,filemode,pmode; ! 136: #define DELAY 60 ! 137: #define GOOD 1 ! 138: #define BAD 0 ! 139: #define TWLOOP 0 ! 140: #define TREAD 1 ! 141: #define TCHECK 2 ! 142: #define TSTATUS 3 ! 143: #define TSENDC 4 ! 144: struct { ! 145: char lobyte; ! 146: char hibyte; ! 147: }; ! 148: #define IFMT 060000 ! 149: #define IFDIR 040000 ! 150: #define EXPLICIT 2 ! 151: /* ! 152: * Returns from gstat ! 153: */ ! 154: #define ORDFILE 0 ! 155: #define DIRECTORY 1 ! 156: #define NOTFOUND -1 ! 157: ! 158: #define YES 1 ! 159: #define NO 0 ! 160: /* ! 161: * Spider Network commands ! 162: */ ! 163: #define SPIDERWRITE 0 ! 164: #define SPIDERREAD 1 ! 165: #define SPIDERCHECK 2 ! 166: #define SPIDERSTATUS 3 ! 167: #define SPIDERCOM 4 ! 168: #define SCOM 3 ! 169: #define SDATA 1 ! 170: #define SEOF 2 ! 171: #define SPART 4 ! 172: #define CHILD 0 ! 173: struct dent{ ! 174: int d_ino; ! 175: char d_name[14]; ! 176: }; ! 177: int pid; ! 178: #define TEMPFILE 02000 ! 179: #define BIGFILE 01000 ! 180: #define RONLY 0 ! 181: #define STDOUT 1 ! 182: int updread; ! 183: #define TRUE 1 ! 184: #define FALSE 0 ! 185: #define UPDATE 1 ! 186: #define NOUPDATE 0 ! 187: int byte; ! 188: int simulate; ! 189: char *mach; ! 190: int debug; ! 191: #define RPIPE 0 ! 192: #define WPIPE 1 ! 193: #define EBAD 0 ! 194: #define OUTPUT 1 ! 195: /* Compressed version of stat */ ! 196: struct ustat{ ! 197: int mode; ! 198: int type; ! 199: int ftype; ! 200: int uid; ! 201: int gid; ! 202: long size; ! 203: long modtime; ! 204: long acctime; ! 205: }us; ! 206: /* File Access permissions */ ! 207: #define R 04 ! 208: #define W 02 ! 209: #define X 01 ! 210: /* Types of files */ ! 211: #define CHR 1 ! 212: #define DIR 2 ! 213: #define BLK 3 ! 214: #define REC 4 ! 215: char *arg[20]; ! 216: struct{ ! 217: int hiword; ! 218: int loword; ! 219: }; ! 220: #define dbg if(debug)fprintf
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.