1 |
/* |
/* |
2 |
Copyright (C) 2001, Sergey Poznyakoff. |
Copyright (C) 2001,2003, Sergey Poznyakoff. |
3 |
|
|
4 |
This file is part of GNU Radius SNMP Library. |
This file is part of GNU Radius SNMP Library. |
5 |
|
|
52 |
static pthread_key_t snmp_errno_key; |
static pthread_key_t snmp_errno_key; |
53 |
|
|
54 |
static void |
static void |
55 |
snmp_errno_destroy(ptr) |
snmp_errno_destroy(void *ptr) |
|
void *ptr; |
|
56 |
{ |
{ |
57 |
free(ptr); |
free(ptr); |
58 |
} |
} |
99 |
} |
} |
100 |
|
|
101 |
int |
int |
102 |
snmp_fdset(sp, fdset) |
snmp_fdset(struct snmp_session *sp, fd_set *fdset) |
|
struct snmp_session *sp; |
|
|
fd_set *fdset; |
|
103 |
{ |
{ |
104 |
int fdmax; |
int fdmax; |
105 |
|
|
115 |
} |
} |
116 |
|
|
117 |
void |
void |
118 |
snmp_init(retries, timeout, memalloc, memfree) |
snmp_init(int retries, int timeout, snmp_alloc_t memalloc, snmp_free_t memfree) |
|
int retries; |
|
|
int timeout; |
|
|
snmp_alloc_t memalloc; |
|
|
snmp_free_t memfree; |
|
119 |
{ |
{ |
120 |
if (retries) |
if (retries) |
121 |
snmp_def.retries = retries; |
snmp_def.retries = retries; |
128 |
} |
} |
129 |
|
|
130 |
struct snmp_session * |
struct snmp_session * |
131 |
snmp_session_create(community, host, port, cfn, closure) |
snmp_session_create(char *community, char *host, int port, |
132 |
char *community; |
snmp_cfn cfn, void *closure) |
|
char *host; |
|
|
int port; |
|
|
snmp_cfn cfn; |
|
|
void *closure; |
|
133 |
{ |
{ |
134 |
struct snmp_session *sp; |
struct snmp_session *sp; |
135 |
int len; |
int len; |
175 |
} |
} |
176 |
|
|
177 |
int |
int |
178 |
snmp_session_open(sp, local_ip, local_port, timeout, retries) |
snmp_session_open(struct snmp_session *sp, ip_addr_t local_ip, |
179 |
struct snmp_session *sp; |
int local_port, int timeout, int retries) |
|
ip_addr_t local_ip; |
|
|
int local_port; |
|
|
int timeout; |
|
|
int retries; |
|
180 |
{ |
{ |
181 |
ip_addr_t addr; |
ip_addr_t addr; |
182 |
u_short port; |
u_short port; |
242 |
} |
} |
243 |
|
|
244 |
void |
void |
245 |
snmp_session_close(sess) |
snmp_session_close(struct snmp_session *sess) |
|
struct snmp_session *sess; |
|
246 |
{ |
{ |
247 |
if (sess->sd != -1) |
if (sess->sd != -1) |
248 |
close(sess->sd); |
close(sess->sd); |
250 |
} |
} |
251 |
|
|
252 |
void |
void |
253 |
snmp_session_free(sess) |
snmp_session_free(struct snmp_session *sess) |
|
struct snmp_session *sess; |
|
254 |
{ |
{ |
255 |
if (!sess) |
if (!sess) |
256 |
return; |
return; |
263 |
} |
} |
264 |
|
|
265 |
void |
void |
266 |
snmp_request_free(req) |
snmp_request_free(struct snmp_request *req) |
|
struct snmp_request *req; |
|
267 |
{ |
{ |
268 |
if (req) { |
if (req) { |
269 |
snmp_pdu_free(req->pdu); |
snmp_pdu_free(req->pdu); |
272 |
} |
} |
273 |
|
|
274 |
void |
void |
275 |
snmp_request_free_list(req) |
snmp_request_free_list(struct snmp_request *req) |
|
struct snmp_request *req; |
|
276 |
{ |
{ |
277 |
struct snmp_request *next; |
struct snmp_request *next; |
278 |
|
|