- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- File List
- Globals

# pcap.h

Go to the documentation of this file.

    00001
    00017 //\{
    00018
    00027 typedef void (*pcap_handler)(u_char *user, const struct pcap_pkthdr *pkt_header,
    00028                  const u_char *pkt_data);
    00029
    00063 pcap_t *pcap_open_live(const char *device, int snaplen, int promisc, int to_ms, char *ebuf);
    00064
    00065
    00075 pcap_t *pcap_open_dead(int linktype, int snaplen);
    00076
    00077
    00091 pcap_t *pcap_open_offline(const char *fname, char *errbuf);
    00092
    00105 pcap_dumper_t *pcap_dump_open(pcap_t *p, const char *fname);
    00106
    00124 int pcap_setnonblock(pcap_t *p, int nonblock, char *errbuf);
    00125
    00126
    00136 int pcap_getnonblock(pcap_t *p, char *errbuf);
    00137
    00153 int pcap_findalldevs(pcap_if_t **alldevsp, char *errbuf);
    00154
    00161 void pcap_freealldevs(pcap_if_t *alldevsp);
    00162
    00173 char *pcap_lookupdev(char *errbuf);
    00174
    00175
    00187 int pcap_lookupnet(const char *device, bpf_u_int32 *netp, bpf_u_int32 *maskp, char *errbuf);
    00188
    00227 int pcap_dispatch(pcap_t *p, int cnt, pcap_handler callback, u_char *user);
    00228
    00229
    00244 int pcap_loop(pcap_t *p, int cnt, pcap_handler callback, u_char *user);
    00245
    00246
    00261 u_char *pcap_next(pcap_t *p, struct pcap_pkthdr *h);
    00262
    00279 int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data);
    00280
    00302 void pcap_breakloop(pcap_t *);
    00303
    00315 int pcap_sendpacket(pcap_t *p, u_char *buf, int size);
    00316
    00327 void pcap_dump(u_char *user, const struct pcap_pkthdr *h, const u_char *sp);
    00328
    00337 long pcap_dump_ftell(pcap_dumper_t *);
    00338
    00357 int pcap_compile(pcap_t *p, struct bpf_program *fp, char *str, int optimize, bpf_u_int32 netmask);
    00358
    00378 int pcap_compile_nopcap(int snaplen_arg, int linktype_arg, struct bpf_program *program, char *buf, int optimize, bpf_u_int32 mask);
    00379
    00380
    00391 int pcap_setfilter(pcap_t *p, struct bpf_program *fp);
    00392
    00393
    00404 void pcap_freecode(struct bpf_program *fp);
    00405
    00485 int pcap_datalink(pcap_t *p);
    00486
    00496 int pcap_list_datalinks(pcap_t *p, int **dlt_buf);
    00497
    00500 int pcap_set_datalink(pcap_t *p, int dlt);
    00501
    00506 int pcap_datalink_name_to_val(const char *name);
    00507
    00511 const char *pcap_datalink_val_to_name(int dlt);
    00512
    00516 const char *pcap_datalink_val_to_description(int dlt);
    00517
    00518
    00526 int pcap_snapshot(pcap_t *p);
    00527
    00528
    00532 int pcap_is_swapped(pcap_t *p);
    00533
    00534
    00539 int pcap_major_version(pcap_t *p);
    00540
    00541
    00546 int pcap_minor_version(pcap_t *p);
    00547
    00562 FILE *pcap_file(pcap_t *p);
    00563
    00578 int pcap_stats(pcap_t *p, struct pcap_stat *ps);
    00579
    00584 void pcap_perror(pcap_t *p, char *prefix);
    00585
    00586
    00596 char *pcap_geterr(pcap_t *p);
    00597
    00598
    00604 char *pcap_strerror(int error);
    00605
    00610 const char *pcap_lib_version(void);
    00611
    00617 void pcap_close(pcap_t *p);
    00618
    00620 FILE *pcap_dump_file(pcap_dumper_t *p);
    00621
    00626 int pcap_dump_flush(pcap_dumper_t *p);
    00627
    00632 void pcap_dump_close(pcap_dumper_t *p);
    00633
    00634 //\}
    00635 // End of Unix-compatible functions
    00636
    00637
    00638
    00639
    00640
    00641
    00642
    00649 //\{
    00650
    00667 PAirpcapHandle pcap_get_airpcap_handle(pcap_t *p);
    00668
    00686 bool pcap_offline_filter(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data);
    00687
    00712 int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks);
    00713
    00714
    00731 int pcap_live_dump_ended(pcap_t *p, int sync);
    00732
    00733
    00757 struct pcap_stat *pcap_stats_ex(pcap_t *p, int *pcap_stat_size);
    00758
    00768 int pcap_setbuff(pcap_t *p, int dim);
    00769
    00770
    00777 int pcap_setmode(pcap_t *p, int mode);
    00778
    00779
    00792 int pcap_setmintocopy(pcap_t *p, int size);
    00793
    00794
    00795
    00805 HANDLE pcap_getevent(pcap_t *p);
    00806
    00819 pcap_send_queue* pcap_sendqueue_alloc(u_int memsize);
    00820
    00827 void pcap_sendqueue_destroy(pcap_send_queue* queue);
    00828
    00843 int pcap_sendqueue_queue(pcap_send_queue* queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data);
    00844
    00845
    00869 u_int pcap_sendqueue_transmit(pcap_t *p, pcap_send_queue* queue, int sync);
    00870
    00871
    00934 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
    00935
    00936
    00980 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
    00981
    00982
    01038 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
    01039
    01105 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
    01106
    01122 struct pcap_samp *pcap_setsampling(pcap_t *p);
    01123
    01183 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
    01184
    01201 int pcap_remoteact_close(const char *host, char *errbuf);
    01202
    01221 void pcap_remoteact_cleanup();
    01222
    01243 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
    01244
    01245 //\}
    01246 // End of Windows-specific extensions
    01247
    01248
    01249

documentation. Copyright (c) 2002-2005 Politecnico di Torino. Copyright (c) 2005-2007 CACE Technologies. All rights reserved.