root/trunk/src/routers_mgmt.h @ 36

Revision 36, 2.5 KB (checked in by andreu, 16 years ago)

ticket #1 #2 #7 closed - release 0.0.9beta

  • Property svn:eol-style set to native
RevLine 
[2]1/*
2 * File: routers_mgmt.h
3 *
[28]4 * Authors: ANDREU Francois-Xavier
[2]5 *
[28]6 * Copyright (C) 2005 2006 2007 GIP RENATER
[2]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 ROUTERS_MGMT_H
26#define ROUTERS_MGMT_H
27
28#include <unistd.h>
29#include <stdio.h>
30#include <string.h>
31#include <stdlib.h>
32#include <errno.h>
33#include <sys/ioctl.h>
34
[31]35#include "tplflset_mgmt.h"
36#include "get_conf.h"
37#include "prefix_mgmt.h"
38#include "V9Header_mgmt.h"
39#include "headers_mgmt.h"
40#include "rules_mgmt.h"
[2]41
42typedef struct Router * RouterPtr;
43typedef struct Router {
44  unsigned long IpAddress;
45  TplFlowSetPtr tplList;
46  TplOptionPtr tplOptList;
47  unsigned long sampled;
48  RouterPtr next;
49  RouterPtr prev;
50} RouterType;
51
[31]52struct MyPtrs {
53  RouterPtr currentRouterPtr;
54  NetFlowV9HeaderPtr currentHeaderV9Ptr;
55  unsigned short *offsetV9Ptr;
56  unsigned char *ptr_buffer;
57  short *currentFlowsetNumberPtr;
58  short *currentFlowsetIdPtr;
59  DatagramPtr pcktPtr;
60  RuleDefPtr *rulesAddressPtr;
61  RulesPtr rulesListPtr;                             /* Rules list */
62  struct IPFLowCache *tabIPPtr;
63  struct MPLSFlowCache *tabMPLSPtr;
64  unsigned long *ipNbPtr;
65  unsigned long *mplsNbPtr;
66  unsigned long *routersID;
67  struct PrefixV4 *currentV4Tab;
68  struct PrefixV4 *secondV4Tab;
[36]69  struct POP *matrixPOP;
70  unsigned long long nbFluxSR4;
71  unsigned long long nbFluxSE;
72  unsigned long long nbFluxIR4;
73  unsigned long long nbFluxUK;
74  unsigned long long nbFluxTT;
[31]75};
76
[2]77RouterPtr notExistRouter(RouterPtr, unsigned long);
[31]78RouterPtr addRouter(RouterPtr, unsigned long, unsigned long, struct PrefixV4 *, size_t, struct MyPtrs *);
[2]79TplFlowSetPtr newRouterTplList();
80TplFlowSetPtr deleteTplFlSet(TplFlowSetPtr);
81TplOptionPtr newRouterTplOptList();
82TplOptionPtr deleteTplOption(TplOptionPtr);
83
84/*int rm_routers(p_routers, unsigned long);
[31]85  p_routers search_routers(unsigned long);*/
[2]86
87#endif /* ROUTERS_MGMT_H */
Note: See TracBrowser for help on using the browser.