sig
  type pcap_handle
  and bpf_program
  and pcap_dumper
  and file_t
  and timeval = { tv_sec : int; tv_usec : int; }
  and struct_2 = { ts : Pcap.timeval; caplen : int; len : int; }
  and pcap_pkthdr = Pcap.struct_2
  and struct_3 = { ps_recv : int; ps_drop : int; ps_ifdrop : int; }
  and pcap_stat = Pcap.struct_3
  and struct_4 = { name : string; description : string; flags : int; }
  and pcap_if = Pcap.struct_4
  and pcap_callback = string -> Pcap.pcap_pkthdr -> string -> unit
  external pcap_findalldevs : unit -> Pcap.pcap_if array
    = "camlidl_pcap_pcap_findalldevs"
  external pcap_list_datalinks : Pcap.pcap_handle -> int * int array
    = "camlidl_pcap_pcap_list_datalinks"
  external pcap_open_live : string -> int -> int -> int -> Pcap.pcap_handle
    = "camlidl_pcap_pcap_open_live"
  external pcap_close : Pcap.pcap_handle -> unit = "camlidl_pcap_pcap_close"
  external pcap_lookupdev : unit -> string = "camlidl_pcap_pcap_lookupdev"
  external pcap_lookupnet : string -> int * int * int
    = "camlidl_pcap_pcap_lookupnet"
  external pcap_loop :
    Pcap.pcap_handle -> int -> Pcap.pcap_callback -> string -> int
    = "camlidl_pcap_pcap_loop"
  external pcap_dispatch :
    Pcap.pcap_handle -> int -> Pcap.pcap_callback -> string -> int
    = "camlidl_pcap_pcap_dispatch"
  external pcap_open_dead : int -> int -> Pcap.pcap_handle
    = "camlidl_pcap_pcap_open_dead"
  external pcap_open_offline : string -> Pcap.pcap_handle
    = "camlidl_pcap_pcap_open_offline"
  external pcap_dump_open : Pcap.pcap_handle -> string -> Pcap.pcap_dumper
    = "camlidl_pcap_pcap_dump_open"
  external pcap_dump_direct :
    Pcap.pcap_dumper -> Pcap.pcap_pkthdr -> string -> unit
    = "camlidl_pcap_pcap_dump_direct"
  external pcap_dump_close : Pcap.pcap_dumper -> unit
    = "camlidl_pcap_pcap_dump_close"
  external pcap_compile :
    Pcap.pcap_handle -> string -> int -> int -> int * Pcap.bpf_program
    = "camlidl_pcap_pcap_compile"
  external pcap_setfilter : Pcap.pcap_handle -> Pcap.bpf_program -> int
    = "camlidl_pcap_pcap_setfilter"
  external pcap_freecode : Pcap.bpf_program -> unit
    = "camlidl_pcap_pcap_freecode"
  external pcap_setnonblock : Pcap.pcap_handle -> int -> int
    = "camlidl_pcap_pcap_setnonblock"
  external pcap_getnonblock : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_getnonblock"
  external pcap_datalink : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_datalink"
  external pcap_snapshot : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_snapshot"
  external pcap_is_swapped : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_is_swapped"
  external pcap_major_version : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_major_version"
  external pcap_minor_version : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_minor_version"
  external pcap_stats : Pcap.pcap_handle -> int * Pcap.pcap_stat
    = "camlidl_pcap_pcap_stats"
  external pcap_file : Pcap.pcap_handle -> Pcap.file_t
    = "camlidl_pcap_pcap_file"
  external pcap_fileno : Pcap.pcap_handle -> int = "camlidl_pcap_pcap_fileno"
  external pcap_perror : Pcap.pcap_handle -> string -> unit
    = "camlidl_pcap_pcap_perror"
  external pcap_geterr : Pcap.pcap_handle -> string
    = "camlidl_pcap_pcap_geterr"
  external pcap_strerror : int -> string = "camlidl_pcap_pcap_strerror"
  external pcap_set_datalink : Pcap.pcap_handle -> int -> int
    = "camlidl_pcap_pcap_set_datalink"
  external pcap_datalink_name_to_val : string -> int
    = "camlidl_pcap_pcap_datalink_name_to_val"
  external pcap_datalink_val_to_name : int -> string
    = "camlidl_pcap_pcap_datalink_val_to_name"
  external pcap_datalink_val_to_description : int -> string
    = "camlidl_pcap_pcap_datalink_val_to_description"
  external pcap_dump_flush : Pcap.pcap_dumper -> int
    = "camlidl_pcap_pcap_dump_flush"
  external pcap_breakloop : Pcap.pcap_handle -> unit
    = "camlidl_pcap_pcap_breakloop"
  external pcap_get_selectable_fd : Pcap.pcap_handle -> int
    = "camlidl_pcap_pcap_get_selectable_fd"
  external pcap_lib_version : unit -> string
    = "camlidl_pcap_pcap_lib_version"
end