about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/library_list.h1
-rw-r--r--src/wrapped/generated/functions_list.txt6
-rw-r--r--src/wrapped/generated/wrappedpcapdefs.h8
-rw-r--r--src/wrapped/generated/wrappedpcaptypes.h17
-rw-r--r--src/wrapped/generated/wrappedpcapundefs.h8
-rw-r--r--src/wrapped/generated/wrapper.c12
-rw-r--r--src/wrapped/generated/wrapper.h5
-rw-r--r--src/wrapped/wrappedpcap.c18
-rw-r--r--src/wrapped/wrappedpcap_private.h100
9 files changed, 175 insertions, 0 deletions
diff --git a/src/library_list.h b/src/library_list.h
index f8ee0c17..ffec13ef 100644
--- a/src/library_list.h
+++ b/src/library_list.h
@@ -192,6 +192,7 @@ GO("libvulkan.so", vulkan)
 GO("libgbm.so.1", gbm)
 GO("libgomp.so.1", gomp)
 GO("libcap.so.2", cap)
+GO("libpcap.so.0.8", pcap)
 GO("libkrb5.so.3", krb5)
 GO("libgssapi_krb5.so.2", gssapikrb5)
 GO("libgssapi.so.3", gssapi)
diff --git a/src/wrapped/generated/functions_list.txt b/src/wrapped/generated/functions_list.txt
index 6264ac12..e2babcb2 100644
--- a/src/wrapped/generated/functions_list.txt
+++ b/src/wrapped/generated/functions_list.txt
@@ -115,6 +115,7 @@
 #() pFA
 #() pFb
 #() SFv
+#() SFp
 #() HFi
 #() HFu
 #() HFp
@@ -363,7 +364,9 @@
 #() pFpl
 #() pFpL
 #() pFpp
+#() pFpS
 #() pFSi
+#() pFSp
 #() pFbu
 #() pFbp
 #() SFip
@@ -819,6 +822,7 @@
 #() pFppA
 #() pFpSp
 #() pFpbi
+#() pFSup
 #() pFSpl
 #() pFbuu
 #() pFbup
@@ -2187,6 +2191,7 @@
 #() iFEppppp
 #() iFiiiipp
 #() iFiiiuwp
+#() iFiippiu
 #() iFiWiipi
 #() iFiuuuup
 #() iFiuuppp
@@ -5530,6 +5535,7 @@ wrappedpangocairo:
 wrappedpangoft2:
 - pFp:
   - pango_fc_font_lock_face
+wrappedpcap:
 wrappedplc4:
 wrappedplds4:
 wrappedpng16:
diff --git a/src/wrapped/generated/wrappedpcapdefs.h b/src/wrapped/generated/wrappedpcapdefs.h
new file mode 100644
index 00000000..d4b2294d
--- /dev/null
+++ b/src/wrapped/generated/wrappedpcapdefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedpcapDEFS_H_
+#define __wrappedpcapDEFS_H_
+
+
+#endif // __wrappedpcapDEFS_H_
diff --git a/src/wrapped/generated/wrappedpcaptypes.h b/src/wrapped/generated/wrappedpcaptypes.h
new file mode 100644
index 00000000..47583a90
--- /dev/null
+++ b/src/wrapped/generated/wrappedpcaptypes.h
@@ -0,0 +1,17 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedpcapTYPES_H_
+#define __wrappedpcapTYPES_H_
+
+#ifndef LIBNAME
+#error You should only #include this file inside a wrapped*.c file
+#endif
+#ifndef ADDED_FUNCTIONS
+#define ADDED_FUNCTIONS() 
+#endif
+
+
+#define SUPER() ADDED_FUNCTIONS()
+
+#endif // __wrappedpcapTYPES_H_
diff --git a/src/wrapped/generated/wrappedpcapundefs.h b/src/wrapped/generated/wrappedpcapundefs.h
new file mode 100644
index 00000000..9d9d4e70
--- /dev/null
+++ b/src/wrapped/generated/wrappedpcapundefs.h
@@ -0,0 +1,8 @@
+/*******************************************************************
+ * File automatically generated by rebuild_wrappers.py (v2.5.0.24) *
+ *******************************************************************/
+#ifndef __wrappedpcapUNDEFS_H_
+#define __wrappedpcapUNDEFS_H_
+
+
+#endif // __wrappedpcapUNDEFS_H_
diff --git a/src/wrapped/generated/wrapper.c b/src/wrapped/generated/wrapper.c
index 5f7dea94..858a6b4e 100644
--- a/src/wrapped/generated/wrapper.c
+++ b/src/wrapped/generated/wrapper.c
@@ -162,6 +162,7 @@ typedef void* (*pFS_t)(void*);
 typedef void* (*pFA_t)(void*);
 typedef void* (*pFb_t)(void*);
 typedef void* (*SFv_t)(void);
+typedef void* (*SFp_t)(void*);
 typedef unsigned __int128 (*HFi_t)(int32_t);
 typedef unsigned __int128 (*HFu_t)(uint32_t);
 typedef unsigned __int128 (*HFp_t)(void*);
@@ -400,7 +401,9 @@ typedef void* (*pFpd_t)(void*, double);
 typedef void* (*pFpl_t)(void*, intptr_t);
 typedef void* (*pFpL_t)(void*, uintptr_t);
 typedef void* (*pFpp_t)(void*, void*);
+typedef void* (*pFpS_t)(void*, void*);
 typedef void* (*pFSi_t)(void*, int32_t);
+typedef void* (*pFSp_t)(void*, void*);
 typedef void* (*pFbu_t)(void*, uint32_t);
 typedef void* (*pFbp_t)(void*, void*);
 typedef void* (*SFip_t)(int32_t, void*);
@@ -850,6 +853,7 @@ typedef void* (*pFppS_t)(void*, void*, void*);
 typedef void* (*pFppA_t)(void*, void*, void*);
 typedef void* (*pFpSp_t)(void*, void*, void*);
 typedef void* (*pFpbi_t)(void*, void*, int32_t);
+typedef void* (*pFSup_t)(void*, uint32_t, void*);
 typedef void* (*pFSpl_t)(void*, void*, intptr_t);
 typedef void* (*pFbuu_t)(void*, uint32_t, uint32_t);
 typedef void* (*pFbup_t)(void*, uint32_t, void*);
@@ -2216,6 +2220,7 @@ typedef int32_t (*iFEppppi_t)(x64emu_t*, void*, void*, void*, void*, int32_t);
 typedef int32_t (*iFEppppp_t)(x64emu_t*, void*, void*, void*, void*, void*);
 typedef int32_t (*iFiiiipp_t)(int32_t, int32_t, int32_t, int32_t, void*, void*);
 typedef int32_t (*iFiiiuwp_t)(int32_t, int32_t, int32_t, uint32_t, int16_t, void*);
+typedef int32_t (*iFiippiu_t)(int32_t, int32_t, void*, void*, int32_t, uint32_t);
 typedef int32_t (*iFiWiipi_t)(int32_t, uint16_t, int32_t, int32_t, void*, int32_t);
 typedef int32_t (*iFiuuuup_t)(int32_t, uint32_t, uint32_t, uint32_t, uint32_t, void*);
 typedef int32_t (*iFiuuppp_t)(int32_t, uint32_t, uint32_t, void*, void*, void*);
@@ -3609,6 +3614,7 @@ void pFS(x64emu_t *emu, uintptr_t fcn) { pFS_t fn = (pFS_t)fcn; R_RAX=(uintptr_t
 void pFA(x64emu_t *emu, uintptr_t fcn) { pFA_t fn = (pFA_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI); }
 void pFb(x64emu_t *emu, uintptr_t fcn) { pFb_t fn = (pFb_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uintptr_t)fn(aligned_xcb); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void SFv(x64emu_t *emu, uintptr_t fcn) { SFv_t fn = (SFv_t)fcn; R_RAX=(uintptr_t)io_convert_back(fn()); }
+void SFp(x64emu_t *emu, uintptr_t fcn) { SFp_t fn = (SFp_t)fcn; R_RAX=(uintptr_t)io_convert_back(fn((void*)R_RDI)); }
 void HFi(x64emu_t *emu, uintptr_t fcn) { HFi_t fn = (HFi_t)fcn; unsigned __int128 u128 = fn((int32_t)R_RDI); R_RAX=(u128&0xFFFFFFFFFFFFFFFFL); R_RDX=(u128>>64)&0xFFFFFFFFFFFFFFFFL; }
 void HFu(x64emu_t *emu, uintptr_t fcn) { HFu_t fn = (HFu_t)fcn; unsigned __int128 u128 = fn((uint32_t)R_RDI); R_RAX=(u128&0xFFFFFFFFFFFFFFFFL); R_RDX=(u128>>64)&0xFFFFFFFFFFFFFFFFL; }
 void HFp(x64emu_t *emu, uintptr_t fcn) { HFp_t fn = (HFp_t)fcn; unsigned __int128 u128 = fn((void*)R_RDI); R_RAX=(u128&0xFFFFFFFFFFFFFFFFL); R_RDX=(u128>>64)&0xFFFFFFFFFFFFFFFFL; }
@@ -3847,7 +3853,9 @@ void pFpd(x64emu_t *emu, uintptr_t fcn) { pFpd_t fn = (pFpd_t)fcn; R_RAX=(uintpt
 void pFpl(x64emu_t *emu, uintptr_t fcn) { pFpl_t fn = (pFpl_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (intptr_t)R_RSI); }
 void pFpL(x64emu_t *emu, uintptr_t fcn) { pFpL_t fn = (pFpL_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (uintptr_t)R_RSI); }
 void pFpp(x64emu_t *emu, uintptr_t fcn) { pFpp_t fn = (pFpp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI); }
+void pFpS(x64emu_t *emu, uintptr_t fcn) { pFpS_t fn = (pFpS_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, io_convert((void*)R_RSI)); }
 void pFSi(x64emu_t *emu, uintptr_t fcn) { pFSi_t fn = (pFSi_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (int32_t)R_RSI); }
+void pFSp(x64emu_t *emu, uintptr_t fcn) { pFSp_t fn = (pFSp_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI); }
 void pFbu(x64emu_t *emu, uintptr_t fcn) { pFbu_t fn = (pFbu_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uintptr_t)fn(aligned_xcb, (uint32_t)R_RSI); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void pFbp(x64emu_t *emu, uintptr_t fcn) { pFbp_t fn = (pFbp_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uintptr_t)fn(aligned_xcb, (void*)R_RSI); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void SFip(x64emu_t *emu, uintptr_t fcn) { SFip_t fn = (SFip_t)fcn; R_RAX=(uintptr_t)io_convert_back(fn((int32_t)R_RDI, (void*)R_RSI)); }
@@ -4297,6 +4305,7 @@ void pFppS(x64emu_t *emu, uintptr_t fcn) { pFppS_t fn = (pFppS_t)fcn; R_RAX=(uin
 void pFppA(x64emu_t *emu, uintptr_t fcn) { pFppA_t fn = (pFppA_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, (void*)R_RSI, (void*)R_RDX); }
 void pFpSp(x64emu_t *emu, uintptr_t fcn) { pFpSp_t fn = (pFpSp_t)fcn; R_RAX=(uintptr_t)fn((void*)R_RDI, io_convert((void*)R_RSI), (void*)R_RDX); }
 void pFpbi(x64emu_t *emu, uintptr_t fcn) { pFpbi_t fn = (pFpbi_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RSI); R_RAX=(uintptr_t)fn((void*)R_RDI, aligned_xcb, (int32_t)R_RDX); unalign_xcb_connection(aligned_xcb, (void*)R_RSI); }
+void pFSup(x64emu_t *emu, uintptr_t fcn) { pFSup_t fn = (pFSup_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (uint32_t)R_RSI, (void*)R_RDX); }
 void pFSpl(x64emu_t *emu, uintptr_t fcn) { pFSpl_t fn = (pFSpl_t)fcn; R_RAX=(uintptr_t)fn(io_convert((void*)R_RDI), (void*)R_RSI, (intptr_t)R_RDX); }
 void pFbuu(x64emu_t *emu, uintptr_t fcn) { pFbuu_t fn = (pFbuu_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uintptr_t)fn(aligned_xcb, (uint32_t)R_RSI, (uint32_t)R_RDX); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
 void pFbup(x64emu_t *emu, uintptr_t fcn) { pFbup_t fn = (pFbup_t)fcn; void *aligned_xcb = align_xcb_connection((void*)R_RDI); R_RAX=(uintptr_t)fn(aligned_xcb, (uint32_t)R_RSI, (void*)R_RDX); unalign_xcb_connection(aligned_xcb, (void*)R_RDI); }
@@ -5663,6 +5672,7 @@ void iFEppppi(x64emu_t *emu, uintptr_t fcn) { iFEppppi_t fn = (iFEppppi_t)fcn; R
 void iFEppppp(x64emu_t *emu, uintptr_t fcn) { iFEppppp_t fn = (iFEppppp_t)fcn; R_RAX=(uint32_t)fn(emu, (void*)R_RDI, (void*)R_RSI, (void*)R_RDX, (void*)R_RCX, (void*)R_R8); }
 void iFiiiipp(x64emu_t *emu, uintptr_t fcn) { iFiiiipp_t fn = (iFiiiipp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (void*)R_R9); }
 void iFiiiuwp(x64emu_t *emu, uintptr_t fcn) { iFiiiuwp_t fn = (iFiiiuwp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (int32_t)R_RDX, (uint32_t)R_RCX, (int16_t)R_R8, (void*)R_R9); }
+void iFiippiu(x64emu_t *emu, uintptr_t fcn) { iFiippiu_t fn = (iFiippiu_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (int32_t)R_RSI, (void*)R_RDX, (void*)R_RCX, (int32_t)R_R8, (uint32_t)R_R9); }
 void iFiWiipi(x64emu_t *emu, uintptr_t fcn) { iFiWiipi_t fn = (iFiWiipi_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint16_t)R_RSI, (int32_t)R_RDX, (int32_t)R_RCX, (void*)R_R8, (int32_t)R_R9); }
 void iFiuuuup(x64emu_t *emu, uintptr_t fcn) { iFiuuuup_t fn = (iFiuuuup_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (uint32_t)R_RCX, (uint32_t)R_R8, (void*)R_R9); }
 void iFiuuppp(x64emu_t *emu, uintptr_t fcn) { iFiuuppp_t fn = (iFiuuppp_t)fcn; R_RAX=(uint32_t)fn((int32_t)R_RDI, (uint32_t)R_RSI, (uint32_t)R_RDX, (void*)R_RCX, (void*)R_R8, (void*)R_R9); }
@@ -8702,6 +8712,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &cFppLppi) return 1;
 	if (fun == &iFiiiipp) return 1;
 	if (fun == &iFiiiuwp) return 1;
+	if (fun == &iFiippiu) return 1;
 	if (fun == &iFiWiipi) return 1;
 	if (fun == &iFiuuuup) return 1;
 	if (fun == &iFiuuppp) return 1;
@@ -10716,6 +10727,7 @@ int isSimpleWrapper(wrapper_t fun) {
 	if (fun == &cFppLppi) return 513;
 	if (fun == &iFiiiipp) return 241;
 	if (fun == &iFiiiuwp) return 497;
+	if (fun == &iFiippiu) return 817;
 	if (fun == &iFiWiipi) return 721;
 	if (fun == &iFiuuuup) return 497;
 	if (fun == &iFiuuppp) return 113;
diff --git a/src/wrapped/generated/wrapper.h b/src/wrapped/generated/wrapper.h
index a74618b7..80932056 100644
--- a/src/wrapped/generated/wrapper.h
+++ b/src/wrapped/generated/wrapper.h
@@ -152,6 +152,7 @@ void pFS(x64emu_t *emu, uintptr_t fnc);
 void pFA(x64emu_t *emu, uintptr_t fnc);
 void pFb(x64emu_t *emu, uintptr_t fnc);
 void SFv(x64emu_t *emu, uintptr_t fnc);
+void SFp(x64emu_t *emu, uintptr_t fnc);
 void HFi(x64emu_t *emu, uintptr_t fnc);
 void HFu(x64emu_t *emu, uintptr_t fnc);
 void HFp(x64emu_t *emu, uintptr_t fnc);
@@ -400,7 +401,9 @@ void pFpd(x64emu_t *emu, uintptr_t fnc);
 void pFpl(x64emu_t *emu, uintptr_t fnc);
 void pFpL(x64emu_t *emu, uintptr_t fnc);
 void pFpp(x64emu_t *emu, uintptr_t fnc);
+void pFpS(x64emu_t *emu, uintptr_t fnc);
 void pFSi(x64emu_t *emu, uintptr_t fnc);
+void pFSp(x64emu_t *emu, uintptr_t fnc);
 void pFbu(x64emu_t *emu, uintptr_t fnc);
 void pFbp(x64emu_t *emu, uintptr_t fnc);
 void SFip(x64emu_t *emu, uintptr_t fnc);
@@ -856,6 +859,7 @@ void pFppS(x64emu_t *emu, uintptr_t fnc);
 void pFppA(x64emu_t *emu, uintptr_t fnc);
 void pFpSp(x64emu_t *emu, uintptr_t fnc);
 void pFpbi(x64emu_t *emu, uintptr_t fnc);
+void pFSup(x64emu_t *emu, uintptr_t fnc);
 void pFSpl(x64emu_t *emu, uintptr_t fnc);
 void pFbuu(x64emu_t *emu, uintptr_t fnc);
 void pFbup(x64emu_t *emu, uintptr_t fnc);
@@ -2224,6 +2228,7 @@ void iFEppppi(x64emu_t *emu, uintptr_t fnc);
 void iFEppppp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiipp(x64emu_t *emu, uintptr_t fnc);
 void iFiiiuwp(x64emu_t *emu, uintptr_t fnc);
+void iFiippiu(x64emu_t *emu, uintptr_t fnc);
 void iFiWiipi(x64emu_t *emu, uintptr_t fnc);
 void iFiuuuup(x64emu_t *emu, uintptr_t fnc);
 void iFiuuppp(x64emu_t *emu, uintptr_t fnc);
diff --git a/src/wrapped/wrappedpcap.c b/src/wrapped/wrappedpcap.c
new file mode 100644
index 00000000..8706df2d
--- /dev/null
+++ b/src/wrapped/wrappedpcap.c
@@ -0,0 +1,18 @@
+#define _GNU_SOURCE         /* See feature_test_macros(7) */
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <dlfcn.h>
+
+#include "wrappedlibs.h"
+
+#include "wrapper.h"
+#include "bridge.h"
+#include "librarian/library_private.h"
+#include "x64emu.h"
+
+const char* pcapName = "libpcap.so.0.8";
+#define LIBNAME pcap
+
+#include "wrappedlib_init.h"
+
diff --git a/src/wrapped/wrappedpcap_private.h b/src/wrapped/wrappedpcap_private.h
new file mode 100644
index 00000000..3a6719cb
--- /dev/null
+++ b/src/wrapped/wrappedpcap_private.h
@@ -0,0 +1,100 @@
+#if !(defined(GO) && defined(GOM) && defined(GO2) && defined(DATA))
+#error Meh...
+#endif
+
+GO(bpf_dump, vFpi)
+GO(bpf_filter, uFppuu)
+GO(bpf_image, pFpi)
+GO(bpf_validate, iFpi)
+//DATA(eproto_db, 
+GO(pcap_activate, iFp)
+GO(pcap_breakloop, vFp)
+GO(pcap_bufsize, iFp)
+GO(pcap_can_set_rfmon, iFp)
+GO(pcap_close, vFp)
+GO(pcap_compile, iFpppiu)
+GO(pcap_compile_nopcap, iFiippiu)
+GO(pcap_create, pFpp)
+GO(pcap_datalink, iFp)
+GO(pcap_datalink_ext, iFp)
+GO(pcap_datalink_name_to_val, iFp)
+GO(pcap_datalink_val_to_description, pFi)
+GO(pcap_datalink_val_to_description_or_dlt, pFi)
+GO(pcap_datalink_val_to_name, pFi)
+//GOM(pcap_dispatch, iFEpipp)
+GO(pcap_dump, vFppp)
+GO(pcap_dump_close, vFp)
+GO(pcap_dump_file, SFp)
+GO(pcap_dump_flush, iFp)
+GO(pcap_dump_fopen, pFpS)
+GO(pcap_dump_ftell, lFp)
+GO(pcap_dump_ftell64, IFp)
+GO(pcap_dump_open, pFpp)
+GO(pcap_dump_open_append, pFpp)
+GO(pcap_ether_aton, pFp)
+GO(pcap_ether_hostton, pFp)
+GO(pcap_file, SFp)
+GO(pcap_fileno, iFp)
+GO(pcap_findalldevs, iFpp)
+GO(pcap_fopen_offline, pFSp)
+GO(pcap_fopen_offline_with_tstamp_precision, pFSup)
+GO(pcap_freealldevs, vFp)
+GO(pcap_freecode, vFp)
+GO(pcap_free_datalinks, vFp)
+GO(pcap_free_tstamp_types, vFp)
+GO(pcap_geterr, pFp)
+GO(pcap_getnonblock, iFpp)
+GO(pcap_get_required_select_timeout, pFp)
+GO(pcap_get_selectable_fd, iFp)
+GO(pcap_get_tstamp_precision, iFp)
+GO(pcap_init, iFup)
+GO(pcap_inject, iFppL)
+GO(pcap_is_swapped, iFp)
+GO(pcap_lib_version, pFv)
+GO(pcap_list_datalinks, iFpp)
+GO(pcap_list_tstamp_types, iFpp)
+GO(pcap_lookupdev, pFp)
+GO(pcap_lookupnet, iFpppp)
+//GOM(pcap_loop, iFEpipp)
+GO(pcap_major_version, iFp)
+GO(pcap_minor_version, iFp)
+GO(pcap_nametoaddr, pFp)
+GO(pcap_nametoaddrinfo, pFp)
+GO(pcap_nametoeproto, iFp)
+GO(pcap_nametollc, iFp)
+GO(pcap_nametonetaddr, uFp)
+GO(pcap_nametoport, iFppp)
+GO(pcap_nametoportrange, iFpppp)
+GO(pcap_nametoproto, iFp)
+GO(pcap_next, pFpp)
+GO(pcap_next_etherent, pFS)
+GO(pcap_next_ex, iFppp)
+GO(pcap_offline_filter, iFppp)
+GO(pcap_open_dead, pFii)
+GO(pcap_open_dead_with_tstamp_precision, pFiiu)
+GO(pcap_open_live, pFpiiip)
+GO(pcap_open_offline, pFpp)
+GO(pcap_open_offline_with_tstamp_precision, pFpup)
+GO(pcap_perror, vFpp)
+GO(pcap_sendpacket, iFppi)
+GO(pcap_set_buffer_size, iFpi)
+GO(pcap_set_datalink, iFpi)
+GO(pcap_setdirection, iFpu)
+GO(pcap_setfilter, iFpp)
+GO(pcap_set_immediate_mode, iFpi)
+GO(pcap_setnonblock, iFpip)
+GO(pcap_set_promisc, iFpi)
+GO(pcap_set_protocol_linux, iFpi)
+GO(pcap_set_rfmon, iFpi)
+GO(pcap_set_snaplen, iFpi)
+GO(pcap_set_timeout, iFpi)
+GO(pcap_set_tstamp_precision, iFpi)
+GO(pcap_set_tstamp_type, iFpi)
+GO(pcap_snapshot, iFp)
+GO(pcap_stats, iFpp)
+GO(pcap_statustostr, pFi)
+GO(pcap_strerror, pFi)
+GO(pcap_tstamp_type_name_to_val, iFp)
+GO(pcap_tstamp_type_val_to_description, pFi)
+GO(pcap_tstamp_type_val_to_name, pFi)
+//DATA(pcap_version,