ddn.lib.pcap.api
Dynamic loader and API vtable for libpcap.
This module provides a way to load libpcap symbols at runtime and access them through a vtable. It also supports static linking via loadStatic.
License
BSD-3-Clause
Copyright
© 2026 DDN (D Developer Network) Members
Module Initializers 1
shared static this
()Types 1
structPcapApi
Vtable containing pointers to libpcap functions.
Every wrapper should route calls through lib.* instead of calling _native functions directly, so that the dynamic-loading path works consistently.
Fields
int function(u_int, char *) pcap_initconst(char) * function() pcap_lib_versionchar * function(char *) pcap_lookupdevpcap_t * function(const(char) *, int, int, int, char *) pcap_open_livepcap_t * function(int, int) pcap_open_deadpcap_t * function(int, int, u_int) pcap_open_dead_with_tstamp_precisionpcap_t * function(const(char) *, char *) pcap_open_offlinepcap_t * function(const(char) *, u_int, char *) pcap_open_offline_with_tstamp_precisionpcap_t * function(FILE *, char *) pcap_fopen_offlinepcap_t * function(FILE *, u_int, char *) pcap_fopen_offline_with_tstamp_precisionvoid function(pcap_t *) pcap_closeFILE * function(pcap_t *) pcap_fileint function(pcap_t *) pcap_filenoint function(pcap_t *, int, pcap_handler, u_char *) pcap_loopint function(pcap_t *, int, pcap_handler, u_char *) pcap_dispatchconst(ubyte) * function(pcap_t *, pcap_pkthdr *) pcap_nextint function(pcap_t *, pcap_pkthdr * *, const(ubyte) * *) pcap_next_exvoid function(pcap_t *) pcap_breakloopint function(pcap_t *) pcap_datalinkint function(pcap_t *) pcap_datalink_extint function(pcap_t *, int) pcap_set_datalinkint function(pcap_t *, int * *) pcap_list_datalinksvoid function(int *) pcap_free_datalinksint function(pcap_t *) pcap_snapshotint function(pcap_t *, pcap_stat *) pcap_statsint function(pcap_t *) pcap_is_swappedint function(pcap_t *) pcap_major_versionint function(pcap_t *) pcap_minor_versionint function(pcap_t *) pcap_get_tstamp_precisionint function(pcap_t *) pcap_activateint function(pcap_t *) pcap_bufsizeint function(pcap_t *) pcap_can_set_rfmonint function(pcap_t *, int) pcap_set_snaplenint function(pcap_t *, int) pcap_set_promiscint function(pcap_t *, int) pcap_set_rfmonint function(pcap_t *, int) pcap_set_timeoutint function(pcap_t *, int) pcap_set_buffer_sizeint function(pcap_t *, int) pcap_set_tstamp_typeint function(pcap_t *, int) pcap_set_immediate_modeint function(pcap_t *, int) pcap_set_tstamp_precisionint function(pcap_t *, int) pcap_setdirectionint function(pcap_t *, int) pcap_set_protocol_linuxpcap_t * function(const(char) *, char *) pcap_createint function(pcap_t *, char *) pcap_getnonblockint function(pcap_t *, int, char *) pcap_setnonblockint function(pcap_t *, const(void) *, size_t) pcap_injectint function(pcap_t *, const(ubyte) *, int) pcap_sendpacketchar * function(pcap_t *) pcap_geterrconst(char) * function(int) pcap_statustostrconst(char) * function(int) pcap_strerrorvoid function(pcap_t *, const(char) *) pcap_perrorint function(pcap_t *, bpf_program *, const(char) *, int, bpf_u_int32) pcap_compileint function(int, int, bpf_program *, const(char) *, int, bpf_u_int32) pcap_compile_nopcapvoid function(bpf_program *) pcap_freecodeint function(pcap_t *, bpf_program *) pcap_setfilterint function(const(bpf_program) *, const(pcap_pkthdr) *, const(ubyte) *) pcap_offline_filterint function(const(char) *) pcap_datalink_name_to_valconst(char) * function(int) pcap_datalink_val_to_nameconst(char) * function(int) pcap_datalink_val_to_descriptionconst(char) * function(int) pcap_datalink_val_to_description_or_dltint function(pcap_t *, int * *) pcap_list_tstamp_typesvoid function(int *) pcap_free_tstamp_typesint function(const(char) *) pcap_tstamp_type_name_to_valconst(char) * function(int) pcap_tstamp_type_val_to_nameconst(char) * function(int) pcap_tstamp_type_val_to_descriptionpcap_dumper_t * function(pcap_t *, const(char) *) pcap_dump_openpcap_dumper_t * function(pcap_t *, const(char) *) pcap_dump_open_appendpcap_dumper_t * function(pcap_t *, FILE *) pcap_dump_fopenvoid function(pcap_dumper_t *) pcap_dump_closevoid function(u_char *, const(pcap_pkthdr) *, const(u_char) *) pcap_dumpFILE * function(pcap_dumper_t *) pcap_dump_fileint function(pcap_dumper_t *) pcap_dump_flushlong function(pcap_dumper_t *) pcap_dump_ftelllong function(pcap_dumper_t *) pcap_dump_ftell64int function(pcap_if_t * *, char *) pcap_findalldevsvoid function(pcap_if_t *) pcap_freealldevsint function(const(char) *, bpf_u_int32 *, bpf_u_int32 *, char *) pcap_lookupnetint function(pcap_t *) pcap_get_selectable_fdconst(timeval) * function(pcap_t *) pcap_get_required_select_timeoutpcap_t * function(const(char) *, int, int, int, pcap_rmtauth *, char *) pcap_openint function(char *, int, const(char) *, const(char) *, const(char) *, char *) pcap_createsrcstrint function(const(char) *, int *, char *, char *, char *, char *) pcap_parsesrcstrint function(const(char) *, pcap_rmtauth *, pcap_if_t * *, char *) pcap_findalldevs_exint function(pcap_t *, pcap_samp *) pcap_setsamplingint function(const(char) *, const(char) *, const(char) *, char *, pcap_rmtauth *) pcap_remoteact_acceptint function(const(char) *, const(char) *, const(char) *, char *, pcap_rmtauth *, int) pcap_remoteact_accept_exint function() pcap_remoteact_cleanupvoid function(int) pcap_remoteact_closeint function(char *, char) pcap_remoteact_listpcap_dumper_t * function(pcap_t *, intptr_t) pcap_dump_hopenpcap_t * function(intptr_t, char *) pcap_hopen_offlinepcap_t * function(intptr_t, u_int, char *) pcap_hopen_offline_with_tstamp_precisionvoid * function(pcap_t *) pcap_geteventvoid * function(pcap_t *) pcap_get_airpcap_handleint function(pcap_t *, int) pcap_setmodeint function(pcap_t *, int) pcap_setbuffint function(pcap_t *, int) pcap_setuserbufferint function(pcap_t *, int) pcap_setmintocopyint function(pcap_t *, int) pcap_set_waitint function(pcap_t *, bpf_u_int32, void *, size_t *) pcap_oid_get_requestint function(pcap_t *, bpf_u_int32, const(void) *, size_t *) pcap_oid_set_requestint function() pcap_wsockinitint function(pcap_t *, char *, int, int) pcap_live_dumpint function(pcap_t *, int) pcap_live_dump_endedpcap_send_queue * function(u_int) pcap_sendqueue_allocvoid function(pcap_send_queue *) pcap_sendqueue_destroyint function(pcap_send_queue *, const(pcap_pkthdr) *, const(u_char) *) pcap_sendqueue_queueu_int function(pcap_t *, pcap_send_queue *, int) pcap_sendqueue_transmitFunctions 3
Variables 2
var
PcapApi libGlobal instance of the libpcap API vtable.
private var
void * _dlHandleStored handle for the dynamically loaded library.
Used by unloadApi() to release the shared library.