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
00636
00637
00638
00639
00640
00641
00642
00649
00650
00667 PAirpcapHandle pcap_get_airpcap_handle(pcap_t *p);
00668
00686 int 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
00793 int pcap_setmintocopy(pcap_t *p, int size);
00794
00795
00796
00806 HANDLE pcap_getevent(pcap_t *p);
00807
00820 pcap_send_queue* pcap_sendqueue_alloc(u_int memsize);
00821
00828 void pcap_sendqueue_destroy(pcap_send_queue* queue);
00829
00844 int pcap_sendqueue_queue(pcap_send_queue* queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data);
00845
00846
00870 u_int pcap_sendqueue_transmit(pcap_t *p, pcap_send_queue* queue, int sync);
00871
00872
00935 int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
00936
00937
00981 int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
00982
00983
01039 int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
01040
01106 pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
01107
01123 struct pcap_samp *pcap_setsampling(pcap_t *p);
01124
01184 SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
01185
01202 int pcap_remoteact_close(const char *host, char *errbuf);
01203
01222 void pcap_remoteact_cleanup();
01223
01244 int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
01245
01246
01247
01248
01249
01250