00001 #ifndef _SNMPUDPDOMAIN_H
00002 #define _SNMPUDPDOMAIN_H
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 #include <net-snmp/library/snmp_transport.h>
00009 #include <net-snmp/library/asn1.h>
00010
00011 #if HAVE_SYS_SOCKET_H
00012 #include <sys/socket.h>
00013 #endif
00014 #if HAVE_NETINET_IN_H
00015 #include <netinet/in.h>
00016 #endif
00017
00018 netsnmp_transport *netsnmp_udp_transport(struct sockaddr_in *addr, int local);
00019
00020
00021
00022
00023
00024
00025
00026
00027 int netsnmp_sockaddr_in(struct sockaddr_in *addr,
00028 const char *peername, int remote_port);
00029
00030
00031
00032
00033
00034
00035 void netsnmp_udp_agent_config_tokens_register(void);
00036
00037 void netsnmp_udp_parse_security(const char *token, char *param);
00038
00039 int netsnmp_udp_getSecName(void *opaque, int olength,
00040 const char *community,
00041 size_t community_len,
00042 char **secname,
00043 char **contextName);
00044
00045 int netsnmp_sock_buffer_set(int s, int optname, int local,
00046 int size);
00047
00048
00049
00050
00051
00052
00053 void netsnmp_udp_ctor(void);
00054
00055
00056
00057
00058 char *netsnmp_udp_fmtaddr(netsnmp_transport *t, void *data, int len);
00059 #if defined(linux) && defined(IP_PKTINFO)
00060 int netsnmp_udp_recvfrom(int s, void *buf, int len, struct sockaddr *from,
00061 socklen_t *fromlen, struct in_addr *dstip);
00062 int netsnmp_udp_sendto(int fd, struct in_addr *srcip, struct sockaddr *remote,
00063 void *data, int len);
00064 #endif
00065
00066 #ifdef __cplusplus
00067 }
00068 #endif
00069 #endif