include/wipal/pcap/simple_types.hh

00001 /*
00002  * WiPal - A library and a set of tools to manipulate wireless traces.
00003  * Copyright (C) 2007  Universite Pierre et Marie Curie - Paris 6
00004  *
00005  * This program is free software; you can redistribute it and/or modify
00006  * it under the terms of the GNU General Public License as published by
00007  * the Free Software Foundation; either version 2 of the License, or
00008  * (at your option) any later version.
00009  *
00010  * This program is distributed in the hope that it will be useful,
00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013  * GNU General Public License for more details.
00014  *
00015  * You should have received a copy of the GNU General Public License
00016  * along with this program; if not, write to the Free Software
00017  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
00018  * MA  02110-1301  USA
00019  *
00020  * Author: Thomas Claveirole <thomas.claveirole@lip6.fr>
00021  */
00022 #ifndef PCAP_SIMPLE_TYPES_HH_
00023 # define PCAP_SIMPLE_TYPES_HH_
00024 
00025 extern "C"
00026 {
00027 # include <inttypes.h>
00028 # include <time.h>
00029 }
00030 
00031 namespace pcapxx
00032 {
00033 
00034   namespace internals
00035   {
00036     enum
00037       {
00039         version_major   = 2,
00040 
00042         version_minor   = 4
00043       };
00044 
00046     struct file_header
00047     {
00048       uint32_t  magic;          
00049       uint16_t  version_major;  
00050       uint16_t  version_minor;  
00051       int32_t   thiszone;       
00052       int32_t   sigfigs;        
00053       int32_t   snaplen;        
00054       int32_t   linktype;       
00055     };
00056 
00058     struct file_frame_header
00059     {
00060       struct timeval    ts;     
00061       uint32_t          caplen; 
00062       uint32_t          len;    
00063     };
00064 
00065   } // End of namespace pcapxx::internals.
00066 
00073   struct pkthdr
00074   {
00075     unsigned            id;     
00076     bool                swapped;
00077     struct timeval      ts;     
00078     size_t              caplen; 
00079     size_t              len;    
00080   };
00081 
00082 } // End of namespace pcapxx.
00083 
00084 #endif // ! PCAP_SIMPLE_TYPES_HH_
00085 

Generated on Tue Jan 15 19:32:31 2008 for wipal by  doxygen 1.5.4