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>