WinPcap 4.1.3
funcs/pcap.h
Go to the documentation of this file.
1
6
7
17//\{
18
27typedef void (*pcap_handler)(u_char *user, const struct pcap_pkthdr *pkt_header,
28 const u_char *pkt_data);
29
63pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *ebuf);
64
65
75pcap_t *pcap_open_dead(int linktype, int snaplen);
76
77
91pcap_t *pcap_open_offline(const char *fname, char *errbuf);
92
105pcap_dumper_t *pcap_dump_open(pcap_t *p, const char *fname);
106
124int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf);
125
126
136int pcap_getnonblock(pcap_t *p, char *errbuf);
137
153int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf);
154
162
173char *pcap_lookupdev(char *errbuf);
174
175
187int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf);
188
227int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user);
228
229
244int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user);
245
246
260
261u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h);
262
279int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data);
280
303
315int pcap_sendpacket(pcap_t *p, u_char *buf, int size);
316
327void pcap_dump(u_char *user, const struct pcap_pkthdr *h, const u_char *sp);
328
338
357int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask);
358
378int pcap_compile_nopcap(int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, bpf_u_int32 mask);
379
380
391int pcap_setfilter(pcap_t *p, struct bpf_program *fp);
392
393
404void pcap_freecode(struct bpf_program *fp);
405
486
496int pcap_list_datalinks(pcap_t *p, int **dlt_buf);
497
500int pcap_set_datalink(pcap_t *p, int dlt);
501
506int pcap_datalink_name_to_val(const char *name);
507
511const char *pcap_datalink_val_to_name(int dlt);
512
517
518
527
528
533
534
540
541
547
563
578int pcap_stats(pcap_t *p, struct pcap_stat *ps);
579
584void pcap_perror(pcap_t *p, char *prefix);
585
586
597
598
604char *pcap_strerror(int error);
605
610const char *pcap_lib_version(void);
611
618
621
627
633
634//\}
635// End of Unix-compatible functions
636
637
638
639
640
641
642
649//\{
650
668
686int pcap_offline_filter(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data);
687
712int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks);
713
714
731int pcap_live_dump_ended(pcap_t *p, int sync);
732
733
757struct pcap_stat *pcap_stats_ex(pcap_t *p, int *pcap_stat_size);
758
768int pcap_setbuff(pcap_t *p, int dim);
769
770
777int pcap_setmode(pcap_t *p, int mode);
778
779
793int pcap_setmintocopy(pcap_t *p, int size);
794
795
796
807
821
829
844int pcap_sendqueue_queue(pcap_send_queue* queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data);
845
846
871
872
935int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
936
937
981int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
982
983
1039int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
1040
1106pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
1107
1124
1184SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
1185
1202int pcap_remoteact_close(const char *host, char *errbuf);
1203
1223
1244int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
1245
1246//\}
1247// End of Windows-specific extensions
1248
1249
1250
struct _AirpcapHandle * PAirpcapHandle
u_int bpf_u_int32
32-bit unsigned integer
Definition incs/pcap.h:67
struct pcap_if pcap_if_t
Item in a list of interfaces, see pcap_if.
Definition incs/pcap.h:72
struct pcap pcap_t
Descriptor of an open capture instance. This structure is opaque to the user, that handles its conten...
Definition incs/pcap.h:70
struct pcap_dumper pcap_dumper_t
libpcap savefile descriptor.
Definition incs/pcap.h:71
int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf)
Parse the source string and returns the pieces in which the source can be split.
pcap_t * pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf)
Open a generic source in order to capture / send (WinPcap only) traffic.
int pcap_setbuff(pcap_t *p, int dim)
Set the size of the kernel buffer associated with an adapter.
pcap_t * pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *ebuf)
Open a live capture from the network.
FILE * pcap_dump_file(pcap_dumper_t *p)
return the standard I/O stream of the 'savefile' opened by pcap_dump_open().
void(* pcap_handler)(u_char *user, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)
Prototype of the callback function that receives the packets.
Definition funcs/pcap.h:27
HANDLE pcap_getevent(pcap_t *p)
Return the handle of the event associated with the interface p.
void pcap_freealldevs(pcap_if_t *alldevsp)
Free an interface list returned by pcap_findalldevs().
int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask)
Compile a packet filter, converting an high level filtering expression (see Filtering expression synt...
void pcap_dump_close(pcap_dumper_t *p)
Closes a savefile.
int pcap_major_version(pcap_t *p)
return the major version number of the pcap library used to write the savefile.
int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf)
Switch between blocking and nonblocking mode.
int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data)
Read a packet from an interface or from an offline capture.
int pcap_datalink_name_to_val(const char *name)
Translates a data link type name, which is a DLT_ name with the DLT_ removed, to the corresponding da...
pcap_t * pcap_open_offline(const char *fname, char *errbuf)
Open a savefile in the tcpdump/libpcap format to read packets.
int pcap_sendqueue_queue(pcap_send_queue *queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data)
Add a packet to a send queue.
PAirpcapHandle pcap_get_airpcap_handle(pcap_t *p)
Returns the AirPcap handler associated with an adapter. This handler can be used to change the wirele...
long pcap_dump_ftell(pcap_dumper_t *)
Return the file position for a "savefile".
int pcap_sendpacket(pcap_t *p, u_char *buf, int size)
Send a raw packet.
SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf)
Block until a network connection is accepted (active mode only).
int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user)
Collect a group of packets.
int pcap_datalink(pcap_t *p)
Return the link layer of an adapter.
int pcap_list_datalinks(pcap_t *p, int **dlt_buf)
list datalinks
void pcap_dump(u_char *user, const struct pcap_pkthdr *h, const u_char *sp)
Save a packet to disk.
int pcap_remoteact_close(const char *host, char *errbuf)
Drop an active connection (active mode only).
int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user)
Collect a group of packets.
void pcap_sendqueue_destroy(pcap_send_queue *queue)
Destroy a send queue.
char * pcap_geterr(pcap_t *p)
return the error text pertaining to the last pcap library error.
FILE * pcap_file(pcap_t *p)
Return the standard stream of an offline capture.
struct pcap_stat * pcap_stats_ex(pcap_t *p, int *pcap_stat_size)
Return statistics on current capture.
void pcap_remoteact_cleanup()
Clean the socket that is currently used in waiting active connections.
int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf)
Construct a list of network devices that can be opened with pcap_open_live().
int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf)
Return the hostname of the host that have an active connection with us (active mode only).
int pcap_compile_nopcap(int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, bpf_u_int32 mask)
Compile a packet filter without the need of opening an adapter. This function converts an high level ...
const char * pcap_lib_version(void)
Returns a pointer to a string giving information about the version of the libpcap library being used;...
int pcap_dump_flush(pcap_dumper_t *p)
Flushes the output buffer to the savefile,'' so that any packets written with pcap_dump() but not yet...
pcap_dumper_t * pcap_dump_open(pcap_t *p, const char *fname)
Open a file to write packets.
int pcap_set_datalink(pcap_t *p, int dlt)
Set the current data link type of the pcap descriptor to the type specified by dlt....
int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf)
Create a list of network devices that can be opened with pcap_open().
pcap_send_queue * pcap_sendqueue_alloc(u_int memsize)
Allocate a send queue.
u_char * pcap_next(pcap_t *p, struct pcap_pkthdr *h)
Return the next available packet.
void pcap_freecode(struct bpf_program *fp)
Free a filter.
int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf)
Accept a set of strings (host name, port, ...), and it returns the complete source string according t...
int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf)
Return the subnet and netmask of an interface.
void pcap_close(pcap_t *p)
close the files associated with p and deallocates resources.
u_int pcap_sendqueue_transmit(pcap_t *p, pcap_send_queue *queue, int sync)
Send a queue of raw packets to the network.
int pcap_setmintocopy(pcap_t *p, int size)
Set the minumum amount of data received by the kernel in a single call.
int pcap_getnonblock(pcap_t *p, char *errbuf)
Get the "non-blocking" state of an interface.
int pcap_is_swapped(pcap_t *p)
returns true if the current savefile uses a different byte order than the current system.
int pcap_stats(pcap_t *p, struct pcap_stat *ps)
Return statistics on current capture.
pcap_t * pcap_open_dead(int linktype, int snaplen)
Create a pcap_t structure without starting a capture.
void pcap_perror(pcap_t *p, char *prefix)
print the text of the last pcap library error on stderr, prefixed by prefix.
const char * pcap_datalink_val_to_description(int dlt)
Translates a data link type value to a short description of that data link type. NULL is returned on ...
int pcap_minor_version(pcap_t *p)
return the minor version number of the pcap library used to write the savefile.
char * pcap_strerror(int error)
Provided in case strerror() isn't available.
char * pcap_lookupdev(char *errbuf)
Return the first valid device in the system.
void pcap_breakloop(pcap_t *)
set a flag that will force pcap_dispatch() or pcap_loop() to return rather than looping.
int pcap_snapshot(pcap_t *p)
Return the dimension of the packet portion (in bytes) that is delivered to the application.
int pcap_offline_filter(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data)
Returns if a given filter applies to an offline packet.
struct pcap_samp * pcap_setsampling(pcap_t *p)
Define a sampling method for packet capture.
const char * pcap_datalink_val_to_name(int dlt)
Translates a data link type value to the corresponding data link type name. NULL is returned on failu...
int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks)
Save a capture to file.
int pcap_setmode(pcap_t *p, int mode)
Set the working mode of the interface p to mode.
int pcap_setfilter(pcap_t *p, struct bpf_program *fp)
Associate a filter to a capture.
int pcap_live_dump_ended(pcap_t *p, int sync)
Return the status of the kernel dump process, i.e. tells if one of the limits defined with pcap_live_...
Header of a packet in the dump file.
Definition incs/pcap.h:126
This structure keeps the information needed to autheticate the user on a remote machine.
Definition remote-ext.h:339
This structure defines the information related to sampling.
Definition remote-ext.h:381
A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit().
Structure that keeps statistical values on an interface.
Definition incs/pcap.h:136

documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2010 CACE Technologies. Copyright (c) 2010-2013 Riverbed Technology. All rights reserved.