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