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