Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

SrvIfaceIface.h

Go to the documentation of this file.
00001 /*
00002  * Dibbler - a portable DHCPv6
00003  *
00004  * authors: Tomasz Mrugalski <thomson@klub.com.pl>
00005  *          Marek Senderski <msend@o2.pl>
00006  *
00007  * released under GNU GPL v2 or later licence
00008  *
00009  * $Header: /var/cvs/dibbler/SrvIfaceMgr/SrvIfaceIface.h,v 1.4 2005/01/25 00:32:26 thomson Exp $
00010  *
00011  * $Log: SrvIfaceIface.h,v $
00012  * Revision 1.4  2005/01/25 00:32:26  thomson
00013  * Global addrs support added.
00014  *
00015  * Revision 1.3  2005/01/08 16:52:04  thomson
00016  * Relay support implemented.
00017  *
00018  * Revision 1.2  2005/01/03 23:13:57  thomson
00019  * Partial relay implementation.
00020  *
00021  * Revision 1.1  2005/01/03 21:56:27  thomson
00022  * Initial version.
00023  *
00024  */
00025 
00026 class TSrvIfaceIface;
00027 #ifndef SRVIFACEIFACE_H
00028 #define SRVIFACEIFACE_H
00029 
00030 #include "Iface.h"
00031 #include "DHCPConst.h"
00032 
00033 struct Relay {
00034     SmartPtr<TSrvIfaceIface> iface;
00035     int ifindex;
00036     int interfaceID;
00037 };
00038 typedef struct Relay TRelay;
00039 
00040 class TSrvIfaceIface: public TIfaceIface {
00041  public:
00042     TSrvIfaceIface(const char * name, int id, unsigned int flags, char* mac, 
00043                    int maclen, char* llAddr, int llAddrCnt, char * globalAddr, 
00044                    int globalAddrCnt, int hwType);
00045 
00046     friend ostream & operator <<(ostream & strum, TSrvIfaceIface &x);
00047 
00048     void setUnderlaying(SmartPtr<TSrvIfaceIface> under);
00049     bool appendRelay(SmartPtr<TSrvIfaceIface> relay, int interfaceID);
00050     SmartPtr<TSrvIfaceIface> getUnderlaying();
00051     SmartPtr<TSrvIfaceIface> getRelayByInterfaceID(int interfaceID);
00052     int getRelayCnt();
00053 
00054  private:
00055     SmartPtr<TSrvIfaceIface> UnderRelay;
00056     bool Relay;
00057 
00058     TRelay Relays[HOP_COUNT_LIMIT];
00059     int RelaysCnt;
00060 };
00061 
00062 #endif
00063 

Generated on Wed Mar 16 00:10:28 2005 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1