12 #ifndef _DUNDI_PARSER_H
13 #define _DUNDI_PARSER_H
18 #define DUNDI_MAX_STACK 512
19 #define DUNDI_MAX_ANSWERS 100
23 int eid_direct[DUNDI_MAX_STACK + 1];
35 unsigned char *pubkey;
46 unsigned char *encsharedkey;
47 unsigned char *encsig;
48 unsigned long keycrc32;
56 unsigned char buf[8192];
60 extern void dundi_set_output(
void (*output)(
const char *data));
62 extern void dundi_set_error(
void (*output)(
const char *data));
65 extern const char *dundi_ie2str(
int ie);
67 extern int dundi_ie_append_raw(
struct dundi_ie_data *ied,
unsigned char ie,
void *data,
int datalen);
68 extern int dundi_ie_append_addr(
struct dundi_ie_data *ied,
unsigned char ie,
struct sockaddr_in *sin);
69 extern int dundi_ie_append_int(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned int value);
70 extern int dundi_ie_append_short(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned short value);
71 extern int dundi_ie_append_str(
struct dundi_ie_data *ied,
unsigned char ie,
char *str);
73 extern int dundi_ie_append_cause(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned char cause,
char *desc);
74 extern int dundi_ie_append_hint(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned short flags,
char *data);
75 extern int dundi_ie_append_answer(
struct dundi_ie_data *ied,
unsigned char ie,
dundi_eid *eid,
unsigned char protocol,
unsigned short flags,
unsigned short weight,
char *desc);
76 extern int dundi_ie_append_encdata(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned char *iv,
void *data,
int datalen);
77 extern int dundi_ie_append_byte(
struct dundi_ie_data *ied,
unsigned char ie,
unsigned char dat);
78 extern int dundi_ie_append(
struct dundi_ie_data *ied,
unsigned char ie);
79 extern int dundi_parse_ies(
struct dundi_ies *ies,
unsigned char *data,
int datalen);
80 extern char *dundi_eid_to_str_short(
char *s,
int maxlen,
dundi_eid *eid);
81 extern int dundi_str_short_to_eid(
dundi_eid *eid,
const char *s);
82 extern int dundi_eid_zero(
dundi_eid *eid);
83 extern char *dundi_flags2str(
char *s,
int maxlen,
int flags);
84 extern char *dundi_hint2str(
char *s,
int maxlen,
int flags);
Distributed Universal Number Discovery (DUNDi) See also.
Provide cryptographic signature routines.
Socket address structure.
An Entity ID is essentially a MAC address, brief and unique.