|
|
1.1 ! root 1: /* ! 2: * @(#)pupu.h 2.1 DKHOST 85/01/15 ! 3: */ ! 4: ! 5: #include <stdio.h> ! 6: #include <sys/types.h> ! 7: #include "sysexits.h" ! 8: #include <signal.h> ! 9: #include "tdefs.h" ! 10: #include "udefs.h" ! 11: ! 12: extern int DEBUG ; ! 13: ! 14: #define db if(DEBUG)fprintf ! 15: ! 16: #ifdef _NFILE ! 17: # define TOPFD (_NFILE - 3) ! 18: #else ! 19: # define TOPFD 17 ! 20: #endif ! 21: ! 22: #define NIL ((TcharP) 0) ! 23: #define GOOD 0 ! 24: #define BAD 1 ! 25: ! 26: #define WTIMEOUT 90 ! 27: #define RTIMEOUT 60 ! 28: ! 29: #define NAMELEN 512 /* maximum path name length */ ! 30: #define BLOCKSIZE 2048 /* write length for file transfers */ ! 31: ! 32: typedef struct expect { ! 33: Mchar type; ! 34: MfnP fn; ! 35: } Texp, *TexpP; ! 36: ! 37: # define Mexp /* mos, mou */ Texp ! 38: # define Aexp auto Texp ! 39: # define Eexp extern Texp ! 40: # define Rexp register Texp ! 41: # define Sexp static Texp ! 42: # define Pexp /* parameter, value */ Texp ! 43: # define Xexp /* extdef */ Texp ! 44: # define MexpP /* mos, mou */ TexpP ! 45: # define AexpP auto TexpP ! 46: # define EexpP extern TexpP ! 47: # define RexpP register TexpP ! 48: # define SexpP static TexpP ! 49: # define PexpP /* parameter, value */ TexpP ! 50: # define XexpP /* extdef */ TexpP ! 51: ! 52: typedef struct linkentry Tlink, *TlinkP; ! 53: ! 54: # define Mlink /* mos, mou */ Tlink ! 55: # define Alink auto Tlink ! 56: # define Elink extern Tlink ! 57: # define Rlink register Tlink ! 58: # define Slink static Tlink ! 59: # define Plink /* parameter, value */ Tlink ! 60: # define Xlink /* extdef */ Tlink ! 61: # define MlinkP /* mos, mou */ TlinkP ! 62: # define AlinkP auto TlinkP ! 63: # define ElinkP extern TlinkP ! 64: # define RlinkP register TlinkP ! 65: # define SlinkP static TlinkP ! 66: # define PlinkP /* parameter, value */ TlinkP ! 67: # define XlinkP /* extdef */ TlinkP ! 68: ! 69: struct linkentry { ! 70: MlinkP next; ! 71: Mshort count; ! 72: ino_t ino; ! 73: dev_t dev; ! 74: Mchar name[2]; /* really longer */ ! 75: }; ! 76: ! 77: #define H_MAG1 0 ! 78: #define H_MAG2 1 ! 79: #define H_SEQN 2 ! 80: #define SEQMIN 1 ! 81: #define SEQMAX 4 ! 82: #define H_TYPE 3 ! 83: #define H_NULL 4 ! 84: #define H_DATA 5 ! 85: ! 86: Eint cfd; ! 87: ! 88: Echar mhead[H_DATA]; ! 89: Echar buf[BLOCKSIZE]; ! 90: EcharP mnext; ! 91: Echar sseq, rseq; ! 92: ! 93: Ejmp giveup; ! 94: EfnP alarmwas; ! 95: ! 96: Echar wdir[NAMELEN]; ! 97: Echar basedir[NAMELEN]; ! 98: Echar wholename[NAMELEN]; ! 99: ! 100: Eint cfd; ! 101: EfnP errorfunction; ! 102: Eint lasterror; ! 103: EcharP remoteorlocal; ! 104: EcharP currentfile, timeoutmsg; ! 105: ! 106: Echar openfiles[]; ! 107: ! 108: Elink linkhead; ! 109: ! 110: Eint sys_nerr; ! 111: EcharP sys_errlist[]; ! 112: ! 113: Eexp inittable[];
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.