wine/dlls/wpcap/unixlib.h
2023-02-13 17:03:02 +01:00

383 lines
5.9 KiB
C

/*
* Copyright 2011, 2014 André Hentschel
* Copyright 2021 Hans Leidekker for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
struct pcap_address
{
struct pcap_address *next;
struct sockaddr *addr;
struct sockaddr *netmask;
struct sockaddr *broadaddr;
struct sockaddr *dstaddr;
};
struct pcap_interface
{
struct pcap_interface *next;
char *name;
char *description;
struct pcap_address *addresses;
unsigned int flags;
};
struct pcap_interface_offsets
{
unsigned int name_offset;
unsigned int name_len;
unsigned int description_offset;
unsigned int description_len;
unsigned int flags;
};
struct pcap_pkthdr_win32
{
struct
{
int tv_sec;
int tv_usec;
} ts;
unsigned int caplen;
unsigned int len;
};
struct pcap_stat_win32
{
unsigned int ps_recv;
unsigned int ps_drop;
unsigned int ps_ifdrop;
unsigned int ps_capt;
unsigned int ps_sent;
unsigned int ps_netdrop;
};
struct activate_params
{
UINT64 handle;
};
struct breakloop_params
{
UINT64 handle;
};
struct bufsize_params
{
UINT64 handle;
};
struct can_set_rfmon_params
{
UINT64 handle;
};
struct close_params
{
UINT64 handle;
};
struct compile_params
{
UINT64 handle;
unsigned int *program_len;
struct bpf_insn *program_insns;
const char *str;
int optimize;
unsigned int mask;
};
struct create_params
{
char *source;
char *errbuf;
UINT64 *handle;
};
struct datalink_params
{
UINT64 handle;
};
struct datalink_name_to_val_params
{
const char *name;
};
struct datalink_val_to_description_params
{
int link;
char *buf;
unsigned int *buflen;
};
struct datalink_val_to_name_params
{
int link;
char *buf;
unsigned int *buflen;
};
struct dump_params
{
unsigned char *user;
const struct pcap_pkthdr_win32 *hdr;
const unsigned char *packet;
};
struct dump_close_params
{
UINT64 handle;
};
struct dump_open_params
{
UINT64 handle;
char *name;
UINT64 *ret_handle;
};
struct findalldevs_params
{
char *buf;
unsigned int *buflen;
char *errbuf;
};
struct geterr_params
{
UINT64 handle;
char *errbuf;
};
struct getnonblock_params
{
UINT64 handle;
char *errbuf;
};
struct get_tstamp_precision_params
{
UINT64 handle;
};
struct init_params
{
int opt;
char *errbuf;
};
struct lib_version_params
{
char *version;
unsigned int size;
};
struct list_datalinks_params
{
UINT64 handle;
int *links;
int *count;
};
struct list_tstamp_types_params
{
UINT64 handle;
int *types;
int *count;
};
struct lookupnet_params
{
char *device;
unsigned int *net;
unsigned int *mask;
char *errbuf;
};
struct major_version_params
{
UINT64 handle;
};
struct minor_version_params
{
UINT64 handle;
};
struct next_ex_params
{
UINT64 handle;
struct pcap_pkthdr_win32 *hdr;
const unsigned char **data;
};
struct open_live_params
{
char *source;
int snaplen;
int promisc;
int timeout;
char *errbuf;
UINT64 *handle;
};
struct sendpacket_params
{
UINT64 handle;
const unsigned char *buf;
int size;
};
struct set_buffer_size_params
{
UINT64 handle;
int size;
};
struct set_datalink_params
{
UINT64 handle;
int link;
};
struct set_promisc_params
{
UINT64 handle;
int enable;
};
struct set_rfmon_params
{
UINT64 handle;
int enable;
};
struct set_snaplen_params
{
UINT64 handle;
int len;
};
struct set_timeout_params
{
UINT64 handle;
int timeout;
};
struct set_tstamp_precision_params
{
UINT64 handle;
int precision;
};
struct set_tstamp_type_params
{
UINT64 handle;
int type;
};
struct setfilter_params
{
UINT64 handle;
unsigned int program_len;
struct bpf_insn *program_insns;
};
struct setnonblock_params
{
UINT64 handle;
int nonblock;
char *errbuf;
};
struct snapshot_params
{
UINT64 handle;
};
struct stats_params
{
UINT64 handle;
struct pcap_stat_win32 stat;
};
struct tstamp_type_name_to_val_params
{
const char *name;
};
struct tstamp_type_val_to_description_params
{
int type;
char *buf;
unsigned int *buflen;
};
struct tstamp_type_val_to_name_params
{
int type;
char *buf;
unsigned int *buflen;
};
enum pcap_funcs
{
unix_activate,
unix_breakloop,
unix_bufsize,
unix_can_set_rfmon,
unix_close,
unix_compile,
unix_create,
unix_datalink,
unix_datalink_name_to_val,
unix_datalink_val_to_description,
unix_datalink_val_to_name,
unix_dump,
unix_dump_close,
unix_dump_open,
unix_findalldevs,
unix_get_tstamp_precision,
unix_geterr,
unix_getnonblock,
unix_init,
unix_lib_version,
unix_list_datalinks,
unix_list_tstamp_types,
unix_lookupnet,
unix_major_version,
unix_minor_version,
unix_next_ex,
unix_open_live,
unix_sendpacket,
unix_set_buffer_size,
unix_set_datalink,
unix_set_promisc,
unix_set_rfmon,
unix_set_snaplen,
unix_set_timeout,
unix_set_tstamp_precision,
unix_set_tstamp_type,
unix_setfilter,
unix_setnonblock,
unix_snapshot,
unix_stats,
unix_tstamp_type_name_to_val,
unix_tstamp_type_val_to_description,
unix_tstamp_type_val_to_name,
};