root/tags/renetcol-0.0.11/trunk/src/headers_mgmt.h

Revision 28, 2.0 KB (checked in by andreu, 16 years ago)

debug mode in compilation option - Wno-long-long - copyright update

  • Property svn:eol-style set to native
Line 
1/*
2 * File: headers_mgmt.h
3 *
4 * Authors: ANDREU Francois-Xavier
5 *
6 * Copyright (C) 2005 2006 2007 GIP RENATER
7 */
8
9/*  This file is part of renetcol.
10 *
11 *  renetcol is free software; you can redistribute it and/or modify
12 *  it under the terms of the GNU General Public License as published by
13 *  the Free Software Foundation; either version 2 of the License, or
14 *  (at your option) any later version.
15 *
16 *  renetcol is distributed in the hope that it will be useful,
17 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
18 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19 *  GNU General Public License for more details.
20 *
21 *  You should have received a copy of the GNU General Public License
22 *  along with renetcol; if not, write to the Free Software
23 *  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
24 */
25#ifndef HEADERS_MGMT_H
26#define HEADERS_MGMT_H
27
28#include <stdio.h>
29#include <string.h>
30#include <syslog.h>
31
32#include "get_conf.h" /* for longCmp function */
33
34typedef struct IpHeader * IpHeaderPtr;
35typedef struct IpHeader {
36  unsigned short versionAndLength;                                         
37  unsigned short tos;                           
38  unsigned short length;                               
39  unsigned short ident;                                 
40  unsigned short flagsAndOffset;
41  unsigned short ttl;                           
42  unsigned short protocol;                             
43  unsigned short checksum;                                     
44  unsigned long srcAdd;                         
45  unsigned long dstAdd;                                 
46} IpHeaderType;
47
48typedef struct UdpHeader * UdpHeaderPtr;
49typedef struct UdpHeader {
50  unsigned short srcPort;       
51  unsigned short dstPort;       
52  unsigned short length;       
53  unsigned short checksum;     
54} UdpHeaderType;
55
56typedef struct Datagram * DatagramPtr;
57typedef struct Datagram {
58  IpHeaderPtr ipH;
59  UdpHeaderPtr udp_header;
60} DatagramType;
61
62unsigned short getIpHeader(DatagramPtr, unsigned char *);
63unsigned short checkIpHeader(DatagramPtr, unsigned long *, int);
64unsigned short getUdpHeader(DatagramPtr, unsigned char *);
65unsigned short checkUdpHeader(DatagramPtr, int, unsigned short);
66#endif /* HEADERS_MGMT_H */
Note: See TracBrowser for help on using the browser.