]> diplodocus.org Git - nmh/blob - h/vmhsbr.h
Add support for a -nosasl switch.
[nmh] / h / vmhsbr.h
1
2 /*
3 * vmhsbr.h -- definitions for the vmh protocol
4 */
5
6 #define RC_VRSN 1
7
8 /* flags for rh_type */
9 #define RC_INI 0x01 /* must be greater than OK */
10 #define RC_ACK 0x02
11 #define RC_ERR 0x03
12 #define RC_CMD 0x04
13 #define RC_QRY 0x05
14 #define RC_TTY 0x06
15 #define RC_WIN 0x07
16 #define RC_DATA 0x08
17 #define RC_EOF 0x09
18 #define RC_FIN 0x0a
19 #define RC_XXX 0x0b
20
21 struct record {
22 struct rcheader {
23 char rh_type; /* type of record */
24 int rh_len; /* length of data */
25 } rc_header;
26 char *rc_data; /* extensible array */
27 };
28
29 #define rc_head(rc) (&rc->rc_header)
30 #define RHSIZE(rc) (sizeof rc->rc_header)
31 #define rc_type rc_header.rh_type
32 #define rc_len rc_header.rh_len
33
34 #define initrc(rc) rc->rc_data = NULL
35
36 /*
37 * prototypes
38 */
39 int rcinit (int, int);
40 int rcdone (void);
41 int rc2rc (char, int, char *, struct record *);
42 int str2rc (char, char *, struct record *);
43 int peer2rc (struct record *);
44 int rc2peer (char, int, char *);
45 int str2peer (char, char *);
46 int fmt2peer (char, char *, ...);
47 int err2peer (char, char *, char *, ...);
48 int verr2peer (char, char *, char *, va_list);
49