comparison protocol.h @ 0:04124a4423d4 noffle

[svn] Initial revision
author enz
date Tue, 04 Jan 2000 11:35:42 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:04124a4423d4
1 /*
2 protocol.h
3
4 Functions related with the NNTP protocol which are useful for both
5 the server and the client.
6
7 $Id: protocol.h 3 2000-01-04 11:35:42Z enz $
8 */
9
10 #ifndef PRT_H
11 #define PRT_H
12
13 #include "dynamicstring.h"
14 #include "over.h"
15
16 #define STAT_HELP_FOLLOWS 100
17 #define STAT_DEBUG_FOLLOWS 199
18
19 #define STAT_READY_POST_ALLOW 200
20 #define STAT_READY_NO_POST_ALLOW 201
21 #define STAT_CMD_OK 202
22 #define STAT_GOODBYE 205
23 #define STAT_GRP_SELECTED 211
24 #define STAT_GRPS_FOLLOW 215
25 #define STAT_ART_FOLLOWS 220
26 #define STAT_HEAD_FOLLOWS 221
27 #define STAT_BODY_FOLLOWS 222
28 #define STAT_ART_RETRIEVED 223
29 #define STAT_OVERS_FOLLOW 224
30 #define STAT_NEW_GRP_FOLLOW 231
31 #define STAT_POST_OK 240
32 #define STAT_AUTH_ACCEPTED 281
33
34 #define STAT_SEND_ART 340
35 #define STAT_MORE_AUTH_REQUIRED 381
36
37 #define STAT_NO_SUCH_GRP 411
38 #define STAT_NO_GRP_SELECTED 412
39 #define STAT_NO_ART_SELECTED 420
40 #define STAT_NO_NEXT_ART 421
41 #define STAT_NO_PREV_ART 422
42 #define STAT_NO_SUCH_NUMB 423
43 #define STAT_NO_SUCH_ID 430
44 #define STAT_ART_REJECTED 437
45 #define STAT_POST_FAILED 441
46 #define STAT_AUTH_REQUIRED 480
47 #define STAT_AUTH_REJECTED 482
48
49 #define STAT_NO_SUCH_CMD 500
50 #define STAT_SYNTAX_ERR 501
51 #define STAT_NO_PERMISSION 502
52 #define STAT_PROGRAM_FAULT 503
53
54 /*
55 Read next line from f into Str, up to "\n" or "\r\n". Don't save "\n"
56 or "\r\n" in line. Terminate with '\0'.
57 */
58 Bool
59 Prt_getLn( Str line, FILE *f );
60
61 /*
62 Read a text line from server. Returns TRUE if line != ".", removes
63 leading '.' otherwise.
64 */
65 Bool
66 Prt_getTxtLn( Str line, Bool *err, FILE *f );
67
68 /*
69 Write text line to f. Escape "." at the beginning with another ".".
70 Terminate with "\r\n".
71 */
72 Bool
73 Prt_putTxtLn( const char* line, FILE *f );
74
75 /*
76 Write text buffer of lines each ending with '\n'.
77 Replace '\n' by "\r\n".
78 */
79 Bool
80 Prt_putTxtBuf( const char *buf, FILE *f );
81
82 /*
83 Write text-ending "."-line to f
84 */
85 Bool
86 Prt_putEndOfTxt( FILE *f );
87
88 /*
89 Splits line in field and value. Field is converted to lower-case.
90 */
91 Bool
92 Prt_getField( Str resultField, Str resultValue, const char* line );
93
94 /* Search header. Works only with single line headers (ignores continuation
95 lines */
96 Bool
97 Prt_searchHeader( const char *artTxt, const char* which, Str result );
98
99 Bool
100 Prt_isValidMsgId( const char *msgId );
101
102 void
103 Prt_genMsgId( Str msgId, const char *from, const char *suffix );
104
105 #endif