NETWORK ATTACKS FRAMEWORK
1.0.0
A NETwork Attacks framework. Making network attacks impact evaluation easier!
|
#include <NA_defs_aodv.h>
Public Member Functions | |
AODV_msg (const char *name=NULL) | |
~AODV_msg () | |
AODV_msg (const AODV_msg &m) | |
AODV_msg & | operator= (const AODV_msg &m) |
virtual AODV_msg * | dup () const |
uint8_t | getType () const |
uint8_t | getTtl () const |
bool | getPrevFix () const |
AODV_ext * | addExtension (int, int, char *) |
void | clearExtension () |
AODV_ext * | getExtension (int i) |
AODV_ext & | getExtensionRef (int i) |
AODV_ext * | getFirstExtension () |
AODV_ext * | getNexExtension (AODV_ext *) |
int | getNumExtension () |
Public Attributes | |
u_int8_t | type |
uint8_t | ttl |
bool | prevFix |
Private Member Functions | |
void | copy (const AODV_msg &other) |
Private Attributes | |
AODV_ext * | extension |
int | extensionsize |
Definition at line 216 of file NA_defs_aodv.h.
AODV_msg::AODV_msg | ( | const char * | name = NULL | ) | [inline, explicit] |
Definition at line 37 of file NA_aodv_msg_struct.h.
: cPacket(name) {extensionsize=0; extension=NULL;}
Definition at line 76 of file NA_aodv_msg_struct.cc.
{ clearExtension(); }
AODV_msg::AODV_msg | ( | const AODV_msg & | m | ) |
Definition at line 23 of file NA_aodv_msg_struct.cc.
: cPacket(m) { copy(m); }
AODV_ext * AODV_msg::addExtension | ( | int | type, |
int | len, | ||
char * | data | ||
) |
Definition at line 81 of file NA_aodv_msg_struct.cc.
{ AODV_ext* extension_aux; if (len<0) { return NULL; } extension_aux = new AODV_ext [extensionsize+1]; for (int i=0; i < extensionsize; i++) { extension_aux[i].type = extension[i].type; extension_aux[i].length = extension[i].length; extension_aux[i].pointer = extension[i].pointer; } if (extensionsize>0) delete [] extension; extension = extension_aux; extensionsize++; extension[extensionsize-1].type = type; extension[extensionsize-1].length = len; extension[extensionsize-1].pointer = new char[len]; memcpy(extension_aux[extensionsize-1].pointer, data, len); setBitLength(getBitLength()+((AODV_EXT_HDR_SIZE+len) *8)); return & extension[extensionsize-1]; }
void AODV_msg::clearExtension | ( | ) |
Definition at line 61 of file NA_aodv_msg_struct.cc.
{ if (extensionsize==0) { return; } for (int i=0; i < extensionsize; i++) { delete extension[i].pointer; } delete [] extension; extensionsize = 0; extension = NULL; }
void AODV_msg::copy | ( | const AODV_msg & | other | ) | [private] |
Definition at line 40 of file NA_aodv_msg_struct.cc.
{ type = m.type; ttl = m.ttl; prevFix = m.prevFix; extensionsize = m.extensionsize; if (extensionsize==0) { extension = NULL; return; } extension = new AODV_ext [extensionsize]; for (int i=0; i < extensionsize; i++) { extension[i].type = m.extension[i].type; extension[i].length = m.extension[i].length; extension[i].pointer = new char[extension[i].length]; memcpy(extension[i].pointer, m.extension[i].pointer, extension[i].length); } }
virtual AODV_msg* AODV_msg::dup | ( | ) | const [inline, virtual] |
AODV_ext* AODV_msg::getExtension | ( | int | i | ) | [inline] |
Definition at line 47 of file NA_aodv_msg_struct.h.
{return &extension[i];}
AODV_ext& AODV_msg::getExtensionRef | ( | int | i | ) | [inline] |
Definition at line 48 of file NA_aodv_msg_struct.h.
{return extension[i];}
AODV_ext* AODV_msg::getFirstExtension | ( | ) | [inline] |
Definition at line 49 of file NA_aodv_msg_struct.h.
{return extension;}
AODV_ext * AODV_msg::getNexExtension | ( | AODV_ext * | aodv_ext | ) |
Definition at line 108 of file NA_aodv_msg_struct.cc.
{ if ((&extension[extensionsize-1]>aodv_ext+1) && (aodv_ext >= extension)) return aodv_ext+1; else return NULL; }
int AODV_msg::getNumExtension | ( | ) | [inline] |
Definition at line 51 of file NA_aodv_msg_struct.h.
{return extensionsize;}
bool AODV_msg::getPrevFix | ( | ) | const [inline] |
Definition at line 44 of file NA_aodv_msg_struct.h.
{return prevFix;}
uint8_t AODV_msg::getTtl | ( | ) | const [inline] |
Definition at line 43 of file NA_aodv_msg_struct.h.
{return ttl;}
uint8_t AODV_msg::getType | ( | ) | const [inline] |
Definition at line 42 of file NA_aodv_msg_struct.h.
{return type;}
Definition at line 29 of file NA_aodv_msg_struct.cc.
{ if (this==&m) return *this; clearExtension(); cPacket::operator=(m); copy(m); return *this; }
AODV_ext* AODV_msg::extension [private] |
Reimplemented in RREP.
Definition at line 31 of file NA_aodv_msg_struct.h.
int AODV_msg::extensionsize [private] |
Definition at line 32 of file NA_aodv_msg_struct.h.
bool AODV_msg::prevFix |
Definition at line 29 of file NA_aodv_msg_struct.h.
uint8_t AODV_msg::ttl |
Definition at line 28 of file NA_aodv_msg_struct.h.
u_int8_t AODV_msg::type |