123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359 |
- #ifndef __PACKET32
- #define __PACKET32
- #include <winsock2.h>
- #ifdef HAVE_AIRPCAP_API
- #include <airpcap.h>
- #else
- #if !defined(AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_)
- #define AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_
- typedef struct _AirpcapHandle *PAirpcapHandle;
- #endif
- #endif
- #ifdef HAVE_DAG_API
- #include <dagc.h>
- #endif
- #define PACKET_MODE_CAPT 0x0
- #define PACKET_MODE_STAT 0x1
- #define PACKET_MODE_MON 0x2
- #define PACKET_MODE_DUMP 0x10
- #define PACKET_MODE_STAT_DUMP MODE_DUMP | MODE_STAT
- #define Packet_ALIGNMENT sizeof(int)
- #define Packet_WORDALIGN(x) (((x)+(Packet_ALIGNMENT-1))&~(Packet_ALIGNMENT-1))
- #define NdisMediumNull -1
- #define NdisMediumCHDLC -2
- #define NdisMediumPPPSerial -3
- #define NdisMediumBare80211 -4
- #define NdisMediumRadio80211 -5
- #define NdisMediumPpi -6
- #define NPF_DISABLE_LOOPBACK 1
- #define NPF_ENABLE_LOOPBACK 2
- typedef struct NetType
- {
- UINT LinkType;
- ULONGLONG LinkSpeed;
- }NetType;
- #ifndef BPF_MAJOR_VERSION
- struct bpf_program
- {
- UINT bf_len;
- struct bpf_insn *bf_insns;
- };
- struct bpf_insn
- {
- USHORT code;
- UCHAR jt;
- UCHAR jf;
- int k;
- };
- struct bpf_stat
- {
- UINT bs_recv;
-
-
- UINT bs_drop;
-
-
- UINT ps_ifdrop;
- UINT bs_capt;
-
- };
- struct bpf_hdr
- {
- struct timeval bh_tstamp;
-
- UINT bh_caplen;
-
-
- UINT bh_datalen;
- USHORT bh_hdrlen;
-
-
-
- };
- struct dump_bpf_hdr{
- struct timeval ts;
- UINT caplen;
-
-
- UINT len;
- };
- #endif
- struct bpf_stat;
- #define DOSNAMEPREFIX TEXT("Packet_")
- #define MAX_LINK_NAME_LENGTH 64
- #define NMAX_PACKET 65535
- typedef struct npf_if_addr {
- struct sockaddr_storage IPAddress;
- struct sockaddr_storage SubnetMask;
- struct sockaddr_storage Broadcast;
- }npf_if_addr;
- #define ADAPTER_NAME_LENGTH 256 + 12
- #define ADAPTER_DESC_LENGTH 128
- #define MAX_MAC_ADDR_LENGTH 8
- #define MAX_NETWORK_ADDRESSES 16
- typedef struct WAN_ADAPTER_INT WAN_ADAPTER;
- typedef WAN_ADAPTER *PWAN_ADAPTER;
- #define INFO_FLAG_NDIS_ADAPTER 0
- #define INFO_FLAG_NDISWAN_ADAPTER 1
- #define INFO_FLAG_DAG_CARD 2
- #define INFO_FLAG_DAG_FILE 6
- #define INFO_FLAG_DONT_EXPORT 8
- #define INFO_FLAG_AIRPCAP_CARD 16
- #define INFO_FLAG_NPFIM_DEVICE 32
- typedef struct _ADAPTER {
- HANDLE hFile;
- CHAR SymbolicLink[MAX_LINK_NAME_LENGTH];
- int NumWrites;
-
- HANDLE ReadEvent;
-
-
-
-
-
-
-
- UINT ReadTimeOut;
-
- CHAR Name[ADAPTER_NAME_LENGTH];
- PWAN_ADAPTER pWanAdapter;
- UINT Flags;
- #ifdef HAVE_AIRPCAP_API
- PAirpcapHandle AirpcapAd;
- #endif
- #ifdef HAVE_NPFIM_API
- void* NpfImHandle;
- #endif
- #ifdef HAVE_DAG_API
- dagc_t *pDagCard;
- PCHAR DagBuffer;
- struct timeval DagReadTimeout;
- unsigned DagFcsLen;
- DWORD DagFastProcess;
- #endif
- } ADAPTER, *LPADAPTER;
- typedef struct _PACKET {
- HANDLE hEvent;
- OVERLAPPED OverLapped;
- PVOID Buffer;
-
- UINT Length;
- DWORD ulBytesReceived;
-
- BOOLEAN bIoComplete;
- } PACKET, *LPPACKET;
- struct _PACKET_OID_DATA {
- ULONG Oid;
-
- ULONG Length;
- UCHAR Data[1];
-
- };
- typedef struct _PACKET_OID_DATA PACKET_OID_DATA, *PPACKET_OID_DATA;
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- PCHAR PacketGetVersion();
- PCHAR PacketGetDriverVersion();
- BOOLEAN PacketSetMinToCopy(LPADAPTER AdapterObject,int nbytes);
- BOOLEAN PacketSetNumWrites(LPADAPTER AdapterObject,int nwrites);
- BOOLEAN PacketSetMode(LPADAPTER AdapterObject,int mode);
- BOOLEAN PacketSetReadTimeout(LPADAPTER AdapterObject,int timeout);
- BOOLEAN PacketSetBpf(LPADAPTER AdapterObject,struct bpf_program *fp);
- BOOLEAN PacketSetLoopbackBehavior(LPADAPTER AdapterObject, UINT LoopbackBehavior);
- INT PacketSetSnapLen(LPADAPTER AdapterObject,int snaplen);
- BOOLEAN PacketGetStats(LPADAPTER AdapterObject,struct bpf_stat *s);
- BOOLEAN PacketGetStatsEx(LPADAPTER AdapterObject,struct bpf_stat *s);
- BOOLEAN PacketSetBuff(LPADAPTER AdapterObject,int dim);
- BOOLEAN PacketGetNetType (LPADAPTER AdapterObject,NetType *type);
- LPADAPTER PacketOpenAdapter(PCHAR AdapterName);
- BOOLEAN PacketSendPacket(LPADAPTER AdapterObject,LPPACKET pPacket,BOOLEAN Sync);
- INT PacketSendPackets(LPADAPTER AdapterObject,PVOID PacketBuff,ULONG Size, BOOLEAN Sync);
- LPPACKET PacketAllocatePacket(void);
- VOID PacketInitPacket(LPPACKET lpPacket,PVOID Buffer,UINT Length);
- VOID PacketFreePacket(LPPACKET lpPacket);
- BOOLEAN PacketReceivePacket(LPADAPTER AdapterObject,LPPACKET lpPacket,BOOLEAN Sync);
- BOOLEAN PacketSetHwFilter(LPADAPTER AdapterObject,ULONG Filter);
- BOOLEAN PacketGetAdapterNames(PTSTR pStr,PULONG BufferSize);
- BOOLEAN PacketGetNetInfoEx(PCHAR AdapterName, npf_if_addr* buffer, PLONG NEntries);
- BOOLEAN PacketRequest(LPADAPTER AdapterObject,BOOLEAN Set,PPACKET_OID_DATA OidData);
- HANDLE PacketGetReadEvent(LPADAPTER AdapterObject);
- BOOLEAN PacketSetDumpName(LPADAPTER AdapterObject, void *name, int len);
- BOOLEAN PacketSetDumpLimits(LPADAPTER AdapterObject, UINT maxfilesize, UINT maxnpacks);
- BOOLEAN PacketIsDumpEnded(LPADAPTER AdapterObject, BOOLEAN sync);
- BOOL PacketStopDriver();
- VOID PacketCloseAdapter(LPADAPTER lpAdapter);
- BOOLEAN PacketStartOem(PCHAR errorString, UINT errorStringLength);
- BOOLEAN PacketStartOemEx(PCHAR errorString, UINT errorStringLength, ULONG flags);
- PAirpcapHandle PacketGetAirPcapHandle(LPADAPTER AdapterObject);
- #define PACKET_START_OEM_NO_NETMON 0x00000001
- #ifdef __cplusplus
- }
- #endif
- #endif
|