home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hacker Chronicles 2
/
HACKER2.BIN
/
558.TNTYP.H
< prev
next >
Wrap
Text File
|
1988-04-30
|
7KB
|
161 lines
/* Typdefinitionen */
typedef unsigned uint;
typedef uint BOOLEAN;
typedef struct lhead { /* Bufferkopf */
struct lhead *lnext;
struct lhead *lprev;
} lhtyp;
typedef struct l2lblk { /* Level 2 Link Eintrag */
char state; /* Status */
char srcid[7]; /* eigenes Call, Ident */
char dstid[7]; /* Gegenstation */
char viaid[8*7 +1]; /* Digipeaterliste zur Gegenstation */
char liport; /* Port fuer Link */
char VR; /* receice sequence Variable */
char VS; /* send sequence Variable */
char lrxNR; /* last received NR */
char ltxNR; /* last transmitted NR */
char tries; /* aktuelle Versuche */
char N2; /* maximale Versuche */
char k; /* Fenstergroesse */
char snglT1; /* FRACK - ohne Digis */
char V2link; /* Protokoll Version */
char RStype; /* naechstes Antwortframe nach T2-Ablauf */
char frmr[3]; /* FRMR Info Bytes */
char flag; /* 5: L3, 6: busy, 7: DiscReq */
uint initT1; /* T1 Wert fuer Initialisierung */
uint T1; /* Timer 1 */
uint T2; /* Timer 2 */
uint T3; /* Timer 3 */
uint noatou; /* no-activity-timeout */
uint rcvd; /* empfangene I Frames */
uint tosend; /* zu sendende I Frames */
lhtyp rcvdil; /* empfangene Info Liste */
lhtyp sendil; /* zu sendende Info Liste */
} l2ltyp;
typedef struct mhead { /* Message Buffer Header */
lhtyp link; /* Link zu Nachbarn der Kette */
lhtyp msg; /* Kopf der Message Liste */
char *nxtchr; /* Pointer auf naechstes Zeichen */
uint putcnt; /* eingeschriebene Zeichen */
uint getcnt; /* ausgelesene Zeichen */
l2ltyp *l2lnk; /* Eintrag in LNKTBL */
char usrtyp; /* Usertyp, 0=Host, 2=Enduser, 4=Circuit */
char pid; /* PID des Frames, VR-VS in Level 4 */
char l2port; /* Port, 0 = HDLC, 1 = RS232 */
char morflg; /* Frame besteht aus mehreren Teilen Flag */
char l4trie; /* Versuche in Level4 */
uint l4time; /* Timeout in Level4 */
} mhtyp;
typedef struct usrblk { /* User Kontroll Block */
struct usrblk *unext; /* doppelt verkettete Liste */
struct usrblk *uprev;
char status; /* 0=leer, 1=am CCP, 2=ConReq, 3=Passworteing*/
l2ltyp *cblk_u; /* eigener Kontrollblock */
char typ_u; /* eigener Typ */
l2ltyp *cblk_p; /* Partner Kontrollblock */
char typ_p; /* Partner Typ */
char sysflg; /* SYSOP Flag */
char errcnt; /* CCP Fehlerzaehler */
char paswrd[5]; /* gegebene Passwort Stellen */
mhtyp *mbhd; /* eingelaufene Frames fuer User */
/* Rest noch undefiniert */
} usrtyp;
typedef struct hostus { /* Kontrollblock fuer zum Host connecteten User */
char conflg; /* User ist connected Flag */
char call[6]; /* Call des Users */
char ssid; /* SSID des Users */
char disflg; /* Flag: Verbindung trennen, wenn Info weg */
uint noacti; /* Timer fuer keine Aktivitaet */
uint noact2; /* Timer2 fuer keine Aktivitaet */
uint inlin; /* eingelaufene Zeilen */
uint outlin; /* auszugebende Zeilen */
uint duh2;
lhtyp inbuf; /* Listenkopf Eingabebuffer */
lhtyp outbuf; /* Listenkopf Ausgabebuffer */
} hustyp;
typedef struct nbrent { /* Nachbarliste */
lhtyp nbrlnk; /* Link innerhalb der Liste */
char nbrcal[7]; /* Call */
char nbrdil[15]; /* Digipeater */
char nbrpor; /* Port */
char pathqu; /* Qualitaet des Weges */
char locked; /* Flag: Eintrag gesperrrt j-n */
uint nbrrou; /* Wege ueber diesen Nachbarn */
l2ltyp *nbrl2l; /* Querverweis zur Level2 Tabelle */
} nbrtyp;
typedef struct ziel {
char qualit; /* Qualitaet */
char obscnt; /* Lebensdauer Zaehler */
nbrtyp *nachba; /* Nachbar */
} wegtyp;
typedef struct nodent { /* Nodeliste */
lhtyp nodlnk; /* Link innerhalb der Liste */
char actrou; /* aktive Wege zu diesem Ziel */
char nodide[6]; /* Ident dieses Zieles */
char nodcal[7]; /* Call des Zieles */
char wegnr; /* Nummer des aktivens Weges */
char wege; /* moegliche Wege */
wegtyp weg[3]; /* Wegbeschreibungen */
lhtyp nodinf; /* Frames fuer dieses Ziel */
} nodtyp;
typedef struct ptcent { /* Patchcord Liste */
l2ltyp *luserl; /* Level2 Link des Users */
char lusert; /* Typ des Users */
} ptctyp; /* es gehoeren immer 2 Eintraege zusammen */
typedef struct cirblk { /* Level 3 Kontrollblock */
char state3; /* Status: 0=leer, 1=ConReq, 2=Con, 3=DisReq */
char idxpar; /* Partner Index */
char ideige; /* eigener ID */
char idpart; /* Partner ID */
char downca[7]; /* Downlink Call */
char upcall[7]; /* Uplink Call */
char window; /* Fenstergroesse */
char l4rxvs; /* letzte bestaetigte Framenummer */
char l4vs; /* letzte gesendete Framenummer */
char l4vr; /* letzte erhaltene Framenummer */
char l4rs; /* notwendige Antwort: 0=ACK, 1=NAK, 2=NAKweg*/
char l4try; /* Transport Versuche */
char l4flag; /* DISC-req, selbst choked, Partner choked */
uint traout; /* Transport Timeout */
uint acktim; /* Acknowledge Timer */
uint tranoa; /* no-activity-Timeout */
uint numrx; /* empfangene Frames */
uint numtx; /* zu sendende Frames */
mhtyp *fragme; /* Fragment eines kommenden Frames */
nodtyp *l3node; /* Node fuer diesen Circuit */
lhtyp mbhdrx; /* Listenkopf empfangene Frames */
lhtyp mbhdtx; /* Listenkopf zu sendende Frames */
lhtyp mbhdos; /* Listenkopf: Frames ausserhalb der Folge */
} cirtyp;
typedef union cblk { /* allgemeiner Kontrollblock */
l2ltyp l2blk;
cirtyp l3blk;
hustyp hoblk;
} ctyp;
typedef struct param { /* Parameter */
uint *paradr; /* Adresse des Parameters */
uint minimal; /* Minimalwert */
uint maximal; /* Maximalwert */
} partyp;
typedef struct comand {
char *cmdstr;
uint (*cmdfun)();
} cmdtyp;
/*--- Ende der Definitionen -------------------------------------------------*/