libpcap
1.10.1
About: libpcap is a packet filter library used by tools like tcpdump.
![]() ![]() |
Go to the source code of this file.
Macros | |
#define | closesocket(a) close(a) |
In Winsock, the close() call cannot be used on a socket; closesocket() must be used. We define closesocket() to be a wrapper around close() on UN*X, so that it can be used on both platforms. More... | |
#define | SOCKBUF_CHECKONLY 1 |
#define | SOCKBUF_BUFFERIZE 0 |
#define | SOCKOPEN_CLIENT 0 |
#define | SOCKOPEN_SERVER 1 |
#define | SOCK_RECEIVEALL_NO 0x00000000 /* Don't wait to receive all data */ |
#define | SOCK_RECEIVEALL_YES 0x00000001 /* Wait to receive all data */ |
#define | SOCK_EOF_ISNT_ERROR 0x00000000 /* Return 0 on EOF */ |
#define | SOCK_EOF_IS_ERROR 0x00000002 /* Return an error on EOF */ |
#define | SOCK_MSG_PEEK 0x00000004 /* Return data but leave it in the socket queue */ |
Functions | |
int | sock_init (char *errbuf, int errbuflen) |
void | sock_cleanup (void) |
void | sock_fmterror (const char *caller, int errcode, char *errbuf, int errbuflen) |
void | sock_geterror (const char *caller, char *errbuf, int errbufsize) |
int | sock_initaddress (const char *address, const char *port, struct addrinfo *hints, struct addrinfo **addrinfo, char *errbuf, int errbuflen) |
int | sock_recv (int sock, void const *, void *buffer, size_t size, int receiveall, char *errbuf, int errbuflen) |
int | sock_recv_dgram (int sock, void const *, void *buffer, size_t size, char *errbuf, int errbuflen) |
int | sock_open (struct addrinfo *addrinfo, int server, int nconn, char *errbuf, int errbuflen) |
int | sock_close (int sock, char *errbuf, int errbuflen) |
int | sock_send (int sock, void const *, const char *buffer, size_t size, char *errbuf, int errbuflen) |
int | sock_bufferize (const char *buffer, int size, char *tempbuf, int *offset, int totsize, int checkonly, char *errbuf, int errbuflen) |
int | sock_discard (int sock, void const *, int size, char *errbuf, int errbuflen) |
int | sock_check_hostlist (char *hostlist, const char *sep, struct sockaddr_storage *from, char *errbuf, int errbuflen) |
int | sock_cmpaddr (struct sockaddr_storage *first, struct sockaddr_storage *second) |
int | sock_getmyinfo (int sock, char *address, int addrlen, char *port, int portlen, int flags, char *errbuf, int errbuflen) |
int | sock_getascii_addrport (const struct sockaddr_storage *sockaddr, char *address, int addrlen, char *port, int portlen, int flags, char *errbuf, int errbuflen) |
int | sock_present2network (const char *address, struct sockaddr_storage *sockaddr, int addr_family, char *errbuf, int errbuflen) |
#define closesocket | ( | a | ) | close(a) |
In Winsock, the close() call cannot be used on a socket; closesocket() must be used. We define closesocket() to be a wrapper around close() on UN*X, so that it can be used on both platforms.
Definition at line 52 of file sockutils.h.
#define SOCK_EOF_IS_ERROR 0x00000002 /* Return an error on EOF */ |
Definition at line 107 of file sockutils.h.
#define SOCK_EOF_ISNT_ERROR 0x00000000 /* Return 0 on EOF */ |
Definition at line 106 of file sockutils.h.
#define SOCK_MSG_PEEK 0x00000004 /* Return data but leave it in the socket queue */ |
Definition at line 109 of file sockutils.h.
#define SOCK_RECEIVEALL_NO 0x00000000 /* Don't wait to receive all data */ |
Definition at line 103 of file sockutils.h.
#define SOCK_RECEIVEALL_YES 0x00000001 /* Wait to receive all data */ |
Definition at line 104 of file sockutils.h.
#define SOCKBUF_BUFFERIZE 0 |
Definition at line 93 of file sockutils.h.
#define SOCKBUF_CHECKONLY 1 |
Definition at line 91 of file sockutils.h.
#define SOCKOPEN_CLIENT 0 |
Definition at line 96 of file sockutils.h.
#define SOCKOPEN_SERVER 1 |
Definition at line 98 of file sockutils.h.
int sock_bufferize | ( | const char * | buffer, |
int | size, | ||
char * | tempbuf, | ||
int * | offset, | ||
int | totsize, | ||
int | checkonly, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 939 of file sockutils.c.
References snprintf().
Referenced by daemon_msg_auth_req(), daemon_msg_findallif_req(), daemon_msg_open_req(), daemon_msg_startcap_req(), daemon_msg_stats_req(), daemon_thrdatamain(), pcap_open_rpcap(), pcap_pack_bpffilter(), pcap_setsampling_remote(), pcap_startcapture_remote(), pcap_updatefilter_remote(), rpcap_doauth(), and rpcap_senderror().
int sock_check_hostlist | ( | char * | hostlist, |
const char * | sep, | ||
struct sockaddr_storage * | from, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1319 of file sockutils.c.
References get_gai_errstring(), hostlist, pcap_strtok_r(), snprintf(), sock_cmpaddr(), and sock_geterror().
Referenced by daemon_serviceloop(), and pcap_remoteact_accept_ex().
void sock_cleanup | ( | void | ) |
Definition at line 253 of file sockutils.c.
Referenced by accept_connections(), pcap_cleanup_rpcap(), pcap_findalldevs_ex_remote(), pcap_remoteact_cleanup(), and pcap_remoteact_close().
int sock_close | ( | int | sock, |
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 510 of file sockutils.c.
References closesocket, shutdown(), and sock_geterror().
Referenced by accept_connection(), daemon_msg_startcap_req(), daemon_serviceloop(), main_active(), pcap_cleanup_rpcap(), pcap_findalldevs_ex_remote(), pcap_open_rpcap(), pcap_remoteact_accept_ex(), pcap_remoteact_close(), pcap_startcapture_remote(), rpcap_setup_session(), and session_close().
int sock_cmpaddr | ( | struct sockaddr_storage * | first, |
struct sockaddr_storage * | second | ||
) |
Definition at line 1449 of file sockutils.c.
Referenced by pcap_remoteact_accept_ex(), pcap_remoteact_close(), rpcap_remoteact_getsock(), and sock_check_hostlist().
int sock_discard | ( | int | sock, |
void const * | ssl, | ||
int | size, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1256 of file sockutils.c.
References SOCK_RECEIVEALL_YES, sock_recv(), and TEMP_BUF_SIZE.
Referenced by rpcap_discard(), and rpcapd_discard().
void sock_fmterror | ( | const char * | caller, |
int | errcode, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 150 of file sockutils.c.
References pcap_fmt_errmsg_for_errno().
Referenced by accept_connections(), sock_geterror(), and sock_send().
int sock_getascii_addrport | ( | const struct sockaddr_storage * | sockaddr, |
char * | address, | ||
int | addrlen, | ||
char * | port, | ||
int | portlen, | ||
int | flags, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1579 of file sockutils.c.
References address, pcap_strlcpy(), port, sock_geterror(), SOCKET_NAME_NULL_DAD, SOCKET_NO_NAME_AVAILABLE, and SOCKET_NO_PORT_AVAILABLE.
Referenced by pcap_remoteact_list(), sock_getmyinfo(), and sock_open().
void sock_geterror | ( | const char * | caller, |
char * | errbuf, | ||
int | errbufsize | ||
) |
Definition at line 184 of file sockutils.c.
References errno, and sock_fmterror().
Referenced by accept_connection(), accept_connections(), daemon_msg_startcap_req(), daemon_serviceloop(), main(), pcap_createfilter_norpcappkt(), pcap_read_nocb_remote(), pcap_remoteact_accept_ex(), pcap_startcapture_remote(), sock_check_hostlist(), sock_close(), sock_getascii_addrport(), sock_getmyinfo(), sock_open(), sock_recv(), and sock_recv_dgram().
int sock_getmyinfo | ( | int | sock, |
char * | address, | ||
int | addrlen, | ||
char * | port, | ||
int | portlen, | ||
int | flags, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1513 of file sockutils.c.
References address, getsockname(), port, sock_getascii_addrport(), and sock_geterror().
int sock_init | ( | char * | errbuf, |
int | errbuflen | ||
) |
Definition at line 235 of file sockutils.c.
Referenced by init_watt32(), main(), pcap_remoteact_accept_ex(), and rpcap_setup_session().
int sock_initaddress | ( | const char * | address, |
const char * | port, | ||
struct addrinfo * | hints, | ||
struct addrinfo ** | addrinfo, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 718 of file sockutils.c.
References get_gai_errstring(), port, snprintf(), and sock_ismcastaddr().
Referenced by daemon_msg_startcap_req(), main_active(), main_startup(), pcap_remoteact_accept_ex(), pcap_remoteact_close(), pcap_startcapture_remote(), rpcap_remoteact_getsock(), rpcap_setup_session(), and sock_present2network().
int sock_open | ( | struct addrinfo * | addrinfo, |
int | server, | ||
int | nconn, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 315 of file sockutils.c.
References bind(), closesocket, connect(), INVALID_SOCKET, listen(), setsockopt(), snprintf(), SOCK_ERRBUF_SIZE, sock_getascii_addrport(), sock_geterror(), socket(), and SOCKET.
Referenced by daemon_msg_startcap_req(), main_active(), main_startup(), pcap_remoteact_accept_ex(), pcap_startcapture_remote(), and rpcap_setup_session().
int sock_present2network | ( | const char * | address, |
struct sockaddr_storage * | sockaddr, | ||
int | addr_family, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1669 of file sockutils.c.
References address, snprintf(), and sock_initaddress().
int sock_recv | ( | int | sock, |
void const * | ssl, | ||
void * | buffer, | ||
size_t | size, | ||
int | receiveall, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1002 of file sockutils.c.
References errno, recv(), snprintf(), SOCK_EOF_IS_ERROR, sock_geterror(), SOCK_MSG_PEEK, and SOCK_RECEIVEALL_YES.
Referenced by daemon_msg_err(), daemon_msg_open_req(), daemon_serviceloop(), rpcap_msg_err(), rpcap_recv(), rpcap_recv_msg_header(), rpcapd_recv(), rpcapd_recv_msg_header(), and sock_discard().
int sock_recv_dgram | ( | int | sock, |
void const * | ssl, | ||
void * | buffer, | ||
size_t | size, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 1109 of file sockutils.c.
References errno, recv(), snprintf(), and sock_geterror().
Referenced by pcap_read_nocb_remote().
int sock_send | ( | int | sock, |
void const * | ssl, | ||
const char * | buffer, | ||
size_t | size, | ||
char * | errbuf, | ||
int | errbuflen | ||
) |
Definition at line 799 of file sockutils.c.
References errno, send(), snprintf(), and sock_fmterror().
Referenced by daemon_msg_auth_req(), daemon_msg_endcap_req(), daemon_msg_findallif_req(), daemon_msg_open_req(), daemon_msg_setsampling_req(), daemon_msg_startcap_req(), daemon_msg_stats_req(), daemon_msg_updatefilter_req(), daemon_serviceloop(), daemon_thrdatamain(), pcap_cleanup_rpcap(), pcap_findalldevs_ex_remote(), pcap_open_rpcap(), pcap_remoteact_close(), pcap_setsampling_remote(), pcap_startcapture_remote(), pcap_updatefilter_remote(), rpcap_doauth(), rpcap_senderror(), and rpcap_stats_rpcap().