50#define DCC_MAX_DELAY_SEC 30
52typedef uint16_t DCC_MS;
55#define DCC_MAX_QDELAY_MS (DCC_MAX_DELAY_SEC*1000)
56#define DCC_DEF_QDELAY_MS 0
75# define DCC_CK_FLOD_PATH DCC_CK_ENV_TO
77#define DCC_CK_TYPE_FIRST DCC_CK_IP
78#define DCC_CK_TYPE_LAST DCC_CK_ENV_TO
79#define DCC_NUM_CKS DCC_CK_TYPE_LAST
83#define DCC_DIM_CKS (DCC_CK_TYPE_LAST+1)
87#define DCC_COMP_DIM_CKS ((((DCC_NUM_CKS+1)+1)/2)*2)
90#define DCC_CK_LONG_TERM(t) ((t) >= DCC_CK_FUZ1 && (t) <= DCC_CK_FUZ4)
92#define DCC_CK_IS_BODY(t) ((t) >= DCC_CK_BODY && (t) <= DCC_CK_FUZ4)
95#define DCC_CK_OK_USER(t) ((t) > DCC_CK_INVALID && (t) <= DCC_CK_FUZ4)
97#define DCC_CK_OK_DB(t) ((t) > DCC_CK_INVALID && (t) <= DCC_CK_TYPE_LAST)
98#define DCC_CK_OK_PROTO(t) DCC_CK_OK_USER(t)
99#define DCC_CK_OK_FLOD(t) DCC_CK_OK_DB(t)
101typedef unsigned char DCC_CK_TYPE;
116typedef uint32_t DCC_CLNT_ID;
117#define DCC_ID_INVALID 0
119#define DCC_ID_WHITE 2
121#define DCC_SRVR_ID_MIN 100
122#define DCC_SRVR_ID_MAX 32767
123#define DCC_CLNT_ID_MIN (DCC_SRVR_ID_MAX+1)
124#define DCC_CLNT_ID_MAX 16777215
125typedef uint16_t DCC_SRVR_ID;
126#define DCC_SRVR_ID_AUTH (DCC_SRVR_ID_MAX+1)
146#define DCC_TS_USEC_RSHIFT 3
147#define DCC_TS_USEC_MULT (1<<DCC_TS_USEC_RSHIFT)
148#define DCC_TS_SEC_LSHIFT 17
149#define DCC_TS_USEC_MASK ((1<<DCC_TS_SEC_LSHIFT) - 1)
150typedef unsigned char DCC_TS[6];
157 unsigned char pkt_vers;
158# define DCC_PKT_VERSION 4
159# define DCC_PKT_VERSION_MIN DCC_PKT_VERSION
160# define DCC_PKT_VERSION_MAX DCC_PKT_VERSION
175typedef unsigned char DCC_SIGNATURE[16];
179 DCC_SIGNATURE signature;
202 DCC_AOP_FLOD_CHECK=0,
203 DCC_AOP_FLOD_SHUTDOWN,
209 DCC_AOP_FLOD_STATS_CLEAR
217 unsigned char pad[3];
218 DCC_SIGNATURE signature;
223 unsigned char addr[16];
235 DCC_SIGNATURE signature;
239#define DCC_TRACE_ADMN_BIT 0x0001
240#define DCC_TRACE_ANON_BIT 0x0002
241#define DCC_TRACE_CLNT_BIT 0x0004
242#define DCC_TRACE_RLIM_BIT 0x0008
243#define DCC_TRACE_QUERY_BIT 0x0010
244#define DCC_TRACE_RIDC_BIT 0x0020
245#define DCC_TRACE_FLOD_BIT 0x0040
247#define DCC_TRACE_ALL_BITS (DCC_TRACE_ADMN_BIT | DCC_TRACE_ANON_BIT \
248 | DCC_TRACE_CLNT_BIT | DCC_TRACE_RLIM_BIT \
249 | DCC_TRACE_QUERY_BIT | DCC_TRACE_RIDC_BIT \
250 | DCC_TRACE_FLOD_BIT)
253typedef char DCC_BRAND[64];
258 unsigned char max_pkt_vers;
259 unsigned char unused;
262 DCC_SIGNATURE signature;
267typedef unsigned char DCC_SUM[16];
274typedef uint32_t DCC_TGTS;
275#define DCC_TGTS_TOO_MANY 0x00fffff0
276#define DCC_TGTS_OK 0x00fffff1
277#define DCC_TGTS_OK2 0x00fffff2
278#define DCC_TGTS_DEL 0x00fffff3
279#define DCC_TGTS_INVALID 0x01000000
285# define DCC_QUERY_MAX DCC_DIM_CKS
286 DCC_CK cks[DCC_QUERY_MAX];
287 DCC_SIGNATURE signature;
292 DCC_TGTS tgts[DCC_QUERY_MAX];
299 DCC_SIGNATURE signature;
308 unsigned char pad[2];
309 DCC_SIGNATURE signature;
316# define DCC_ERROR_MSG_LEN 128
317 char msg[DCC_ERROR_MSG_LEN];
318 DCC_SIGNATURE signature;
326typedef unsigned char DCC_FLOD_POS[8];
328#define DCC_FLOD_POS_END 0
329#define DCC_FLOD_POS_END_REQ 1
330#define DCC_FLOD_POS_NOTE 2
331#define DCC_FLOD_POS_COMPLAINT 3
332#define DCC_FLOD_POS_REWIND 4
333#define DCC_FLOD_POS_MIN 10
335#define DCC_FLOD_OK_STR "DCC flod ok: "
336#define DCC_FLOD_MAX_RESP 200
341 unsigned char tgts[
sizeof(DCC_TGTS)];
342 unsigned char srvr_id_auth[
sizeof(DCC_SRVR_ID)];
344 unsigned char num_cks;
345 DCC_CK cks[DCC_QUERY_MAX];
349#define DCC_NUM_FLOD_PATH ((int)(sizeof(DCC_SUM)/sizeof(DCC_SRVR_ID)))
351 unsigned char hi, lo;
356 char msg[DCC_FLOD_MAX_RESP];
362 char str[DCC_FLOD_MAX_RESP];
364#define FLOD_NOTE_OVHD ((int)sizeof(FLOD_NOTE)-DCC_FLOD_MAX_RESP)
366#define DCC_FLOD_VERSION_STR_BASE "DCC flod version "
367#define DCC_FLOD_VERSION5_STR DCC_FLOD_VERSION_STR_BASE"5"
368#define DCC_FLOD_VERSION5 5
369#define DCC_FLOD_VERSION6_STR DCC_FLOD_VERSION_STR_BASE"6"
370#define DCC_FLOD_VERSION6 6
371#define DCC_FLOD_VERSION7_STR DCC_FLOD_VERSION_STR_BASE"7"
372#define DCC_FLOD_VERSION7 7
373#define DCC_FLOD_VERSION_DEF 0
374#define DCC_FLOD_VERSION_CUR_STR DCC_FLOD_VERSION7_STR
375#define DCC_FLOD_VERSION_CUR DCC_FLOD_VERSION7
377# define DCC_FLOD_VERSION_STR_LEN 64
378 char str[DCC_FLOD_VERSION_STR_LEN];
379 DCC_SRVR_ID sender_srvr_id;
381 unsigned char unused[3];
386 DCC_SIGNATURE signature;
Definition packet-dcc.h:212
Definition packet-dcc.h:222
Definition packet-dcc.h:232
Definition packet-dcc.h:268
Definition packet-dcc.h:304
Definition packet-dcc.h:314
Definition packet-dcc.h:350
Definition packet-dcc.h:376
Definition packet-dcc.h:383
Definition packet-dcc.h:339
Definition packet-dcc.h:155
Definition packet-dcc.h:177
Definition packet-dcc.h:256
Definition packet-dcc.h:129
Definition packet-dcc.h:282
Definition packet-dcc.h:291
Definition packet-dcc.h:296
Definition packet-dcc.h:354
Definition packet-dcc.h:359
Definition packet-dcc.h:228