1 #include <stdlib.h>
2 #include <stdio.h>
3 #include "platform.h"
4 #if !defined(OS_2) && !defined(UNIX)
5 #include <dir.h>
6 #else
7 // #include <dos.h>
8 #endif
9 #include <string.h>
10 
11 typedef unsigned short word;
12 
13 #define False 0
14 #define True  1
15 
16 #define BUFFER_SIZE 2048
17 
18 // Parameter group definition
19 #define PT_COMMAND  	0
20 #define PT_ADDRESS		1
21 #define PT_ENC      	2
22 #define PT_DOW      	3
23 #define PT_ATTRIB   	4
24 #define PT_FLAVOUR  	5
25 #define PT_MACRO    	6
26 #define PT_FROM     	7
27 #define PT_EXCEPT   	8
28 #define PT_DEFINITION 	9
29 #define PT_QQQMODE      10
30 #define PT_OTHER    	11
31 #define PT_END     		200
32 
33 extern const int NV_Routed;
34 extern const int NV_Direct;
35 extern const int NV_Noroute;
36 extern const int NV_NoPack;
37 
38 extern char Months[12][4];
39 extern char Days[7][4];
40 
41 
42 
43 // Some structures
44 struct S_FQAddress
45 {
46 	word Zone, Net, Node, Point;
47 	char Domain[64];
48 };
49 
50 // Structure to store an address with wildcards
51 struct S_WAddress
52 {
53 	int Reverse; // For miscellaneous use
54 	char Zone[6];
55 	char Net[6];
56 	char Node[6];
57 	char Point[6];
58 	char Domain[64];
59 };
60 
61 struct S_Codes
62 {
63 	char *Keyword;
64 	int Code;
65     int (*Initiator) (struct S_FQAddress);
66     int (*ParameterProcessor) (char *,struct S_FQAddress);
67 	int Parameters;
68 	int Group;
69 };
70 
71 int ReadRouteFile (char *FileName);
72 
73 // Command initiators
74 int InitComPassword (struct S_FQAddress Main);
75 int InitComTopdown (struct S_FQAddress Main);
76 int InitComRouteTo (struct S_FQAddress Main);
77 int InitComRouteMail (struct S_FQAddress Main);
78 int InitComRouteFiles (struct S_FQAddress Main);
79 int InitComDirect (struct S_FQAddress Main);
80 int InitComDirectMail (struct S_FQAddress Main);
81 int InitComDirectFiles (struct S_FQAddress Main);
82 int InitComNoroute (struct S_FQAddress Main);
83 int InitComNorouteMail (struct S_FQAddress Main);
84 int InitComNorouteFiles (struct S_FQAddress Main);
85 int InitComNoPack (struct S_FQAddress Main);
86 int InitComNoPackMail (struct S_FQAddress Main);
87 int InitComNoPackFiles (struct S_FQAddress Main);
88 int InitComPacket2 (struct S_FQAddress Main);
89 int InitComEndDefine (struct S_FQAddress Main);
90 int InitComAssumePoints (struct S_FQAddress Main);
91 int InitComAssumeWaypoints (struct S_FQAddress Main);
92 int InitComEOLEndsCommand (struct S_FQAddress Main);
93 int InitComViaBossDirect (struct S_FQAddress Main);
94 int InitComViaBossHold (struct S_FQAddress Main);
95 int InitComIgnoreBSY (struct S_FQAddress Main);
96 int InitComProductInfo (struct S_FQAddress Main);
97 int InitComKillInTransit (S_FQAddress Main);
98 int InitComKillInTransitFiles (S_FQAddress Main);
99 int InitComLogpath (S_FQAddress Main);
100 int InitComFastechoPack (S_FQAddress Main);
101 int InitComNoDomainDir (S_FQAddress Main);
102 int InitComNoLoopRoute (S_FQAddress Main);
103 int InitComFEConfig (S_FQAddress Main);
104 int InitComIgnoreUnknownAttribs (S_FQAddress Main);
105 
106 // Parameter processors
107 int ProcParNetmail (char *Token, struct S_FQAddress Main);
108 int ProcParNetSquish (char *Token, struct S_FQAddress Main);
109 int ProcParNetJam (char *Token, struct S_FQAddress Main);
110 int ProcParOutboundDir (char *Token, struct S_FQAddress Main);
111 int ProcParQQQOutboundDir (char *Token, struct S_FQAddress Main);
112 int ProcParLogFilename (char *Token, struct S_FQAddress Main);
113 int ProcParRecode (char *Token, struct S_FQAddress Main);
114 int ProcParPassword (char *Token, struct S_FQAddress Main);
115 int ProcParInbound (char *Token, struct S_FQAddress Main);
116 int ProcParInclude (char *Token, struct S_FQAddress Main);
117 int ProcParRoute (char *Token, struct S_FQAddress Main);
118 int ProcParPacket2 (char *Token,struct S_FQAddress Main);
119 int ProcParMain (char *Token,struct S_FQAddress Main);
120 int ProcParAKA (char *Token,struct S_FQAddress Main);
121 int ProcParCheckFile (char *Token, struct S_FQAddress Main);
122 int ProcParDefine (char *Token,struct S_FQAddress Main);
123 int ProcParProductInfo (char *Token,struct S_FQAddress Main);
124 int ProcParFEConfig (char *Token,struct S_FQAddress Main);
125 int ProcParFastechoPack (char *Token,struct S_FQAddress Main);
126 
127 // misc. other functions
128 extern long lengthoffile(FILE *f);
129 
130