Annotation of embedaddon/libnet/win32/wpdpack/Include/Win32-Extensions.h, revision 1.1.1.1
1.1 misho 1: /*
2: * Copyright (c) 1999 - 2005 NetGroup, Politecnico di Torino (Italy)
3: * Copyright (c) 2005 - 2006 CACE Technologies, Davis (California)
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: *
10: * 1. Redistributions of source code must retain the above copyright
11: * notice, this list of conditions and the following disclaimer.
12: * 2. Redistributions in binary form must reproduce the above copyright
13: * notice, this list of conditions and the following disclaimer in the
14: * documentation and/or other materials provided with the distribution.
15: * 3. Neither the name of the Politecnico di Torino, CACE Technologies
16: * nor the names of its contributors may be used to endorse or promote
17: * products derived from this software without specific prior written
18: * permission.
19: *
20: * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21: * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22: * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23: * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24: * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25: * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26: * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30: * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31: *
32: */
33:
34: #ifndef __WIN32_EXTENSIONS_H__
35: #define __WIN32_EXTENSIONS_H__
36:
37: #ifdef __cplusplus
38: extern "C" {
39: #endif
40:
41: /* Definitions */
42:
43: /*!
44: \brief A queue of raw packets that will be sent to the network with pcap_sendqueue_transmit().
45: */
46: struct pcap_send_queue
47: {
48: u_int maxlen; ///< Maximum size of the the queue, in bytes. This variable contains the size of the buffer field.
49: u_int len; ///< Current size of the queue, in bytes.
50: char *buffer; ///< Buffer containing the packets to be sent.
51: };
52:
53: typedef struct pcap_send_queue pcap_send_queue;
54:
55: /*!
56: \brief This typedef is a support for the pcap_get_airpcap_handle() function
57: */
58: #if !defined(AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_)
59: #define AIRPCAP_HANDLE__EAE405F5_0171_9592_B3C2_C19EC426AD34__DEFINED_
60: typedef struct _AirpcapHandle *PAirpcapHandle;
61: #endif
62:
63: #define BPF_MEM_EX_IMM 0xc0
64: #define BPF_MEM_EX_IND 0xe0
65:
66: /*used for ST*/
67: #define BPF_MEM_EX 0xc0
68: #define BPF_TME 0x08
69:
70: #define BPF_LOOKUP 0x90
71: #define BPF_EXECUTE 0xa0
72: #define BPF_INIT 0xb0
73: #define BPF_VALIDATE 0xc0
74: #define BPF_SET_ACTIVE 0xd0
75: #define BPF_RESET 0xe0
76: #define BPF_SET_MEMORY 0x80
77: #define BPF_GET_REGISTER_VALUE 0x70
78: #define BPF_SET_REGISTER_VALUE 0x60
79: #define BPF_SET_WORKING 0x50
80: #define BPF_SET_ACTIVE_READ 0x40
81: #define BPF_SET_AUTODELETION 0x30
82: #define BPF_SEPARATION 0xff
83:
84: /* Prototypes */
85: pcap_send_queue* pcap_sendqueue_alloc(u_int memsize);
86:
87: void pcap_sendqueue_destroy(pcap_send_queue* queue);
88:
89: int pcap_sendqueue_queue(pcap_send_queue* queue, const struct pcap_pkthdr *pkt_header, const u_char *pkt_data);
90:
91: u_int pcap_sendqueue_transmit(pcap_t *p, pcap_send_queue* queue, int sync);
92:
93: HANDLE pcap_getevent(pcap_t *p);
94:
95: struct pcap_stat *pcap_stats_ex(pcap_t *p, int *pcap_stat_size);
96:
97: int pcap_setuserbuffer(pcap_t *p, int size);
98:
99: int pcap_live_dump(pcap_t *p, char *filename, int maxsize, int maxpacks);
100:
101: int pcap_live_dump_ended(pcap_t *p, int sync);
102:
103: int pcap_offline_filter(struct bpf_program *prog, const struct pcap_pkthdr *header, const u_char *pkt_data);
104:
105: int pcap_start_oem(char* err_str, int flags);
106:
107: PAirpcapHandle pcap_get_airpcap_handle(pcap_t *p);
108:
109: #ifdef __cplusplus
110: }
111: #endif
112:
113: #endif //__WIN32_EXTENSIONS_H__
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>