151
151
int stun_attr_get_first_addr_str(const u08bits *buf, size_t len, u16bits attr_type, ioa_addr* ca, const ioa_addr *default_addr);
152
152
int stun_attr_add_channel_number_str(u08bits* buf, size_t *len, u16bits chnumber);
153
153
int stun_attr_add_bandwidth_str(u08bits* buf, size_t *len, band_limit_t bps);
154
int stun_attr_add_address_error_code(u08bits* buf, size_t *len, int requested_address_family, u08bits error_code);
155
/* return +1 if present, 0 if not, -1 if error: */
156
int stun_attr_get_address_error_code(u08bits* buf, size_t len, int *requested_address_family, u08bits *error_code);
154
157
u16bits stun_attr_get_first_channel_number_str(const u08bits *buf, size_t len);
156
int stun_set_allocate_request_str(u08bits* buf, size_t *len, u32bits lifetime, int af4, int af6, u08bits transport, int mobile);
159
int stun_set_allocate_request_str(u08bits* buf, size_t *len, u32bits lifetime, int af4, int af6, u08bits transport, int mobile, const char* rt, int ep);
157
160
int stun_set_allocate_response_str(u08bits* buf, size_t *len, stun_tid* tid,
158
161
const ioa_addr *relayed_addr1, const ioa_addr *relayed_addr2,
159
162
const ioa_addr *reflexive_addr,