1 #define MAXCALL 15 2 #define MAXDATA 45 3 #define MAXID 15 4 #define MAXIP 20 5 6 #define LOGION_TIMEOUT 360.0 7 #define GETLIST_TIMEOUT 210.0 8 9 /********************* 10 struct serverList { 11 char domainName[80]; 12 struct in_addr addr; 13 struct serverList *next; 14 }; 15 *********************/ 16 17 struct recordLineT{ 18 char line[4][80]; 19 }; 20 21 struct stationData { 22 char call[MAXCALL]; 23 char data[MAXDATA]; 24 int id; 25 char ip[MAXIP]; 26 }; 27 28 enum serverStateT{ 29 IDLE, LOGON, LOGOFF, GETCALLS, MAKE_BUSY 30 }; 31 32 /***************** 33 char *sServerState[]={ 34 "IDLE", 35 "LOGON", 36 "LOGOFF", 37 "GETCALLS", 38 "MAKE BUSY"}; 39 *****************/ 40 41 enum serverPortStateT{ 42 CLOSED, CONNECTING, CONNECTED 43 }; 44 45 enum getCallStatT{ 46 PREAMBLE, NUMBER_RECORDS, READ_RECORDS 47 }; 48 49 struct entry { 50 struct stationData *station; 51 struct entry *next; 52 }; 53 54 extern void addServerList(char *); 55 extern struct stationData *getEntry(int); 56 extern int doServer(void *); 57 extern void printList(struct entry *); 58 59 int sendLogon(void); 60 int sendLogoff(void); 61 int makeMeBusy(void); 62 int getCalls(void); 63 int handleServer(void); 64 65 extern enum serverStateT serverState; 66 extern char callsign[], name[], location[], password[]; 67 extern struct serverList *pServerHead, *pServer; 68 extern int serverSocket; 69 extern struct entry *pListHead; 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88