FlagsHeaderClass Class Reference

Inheritance diagram for FlagsHeaderClass:

PacketHeaderClass TclClass Collaboration diagram for FlagsHeaderClass:

Collaboration graph
[legend]

Detailed Description

Definition at line 124 of file packet.cc.

Public Member Functions

virtual void bind ()
TclObjectcreate (int argc, const char *const *argv)
virtual void export_offsets ()
 FlagsHeaderClass ()

Protected Member Functions

void bind_offset (int *off)
void field_offset (const char *fieldname, int offset)
virtual int method (int argc, const char *const *argv)
void offset (int *off)

Protected Attributes

int hdrlen_
int * offset_


Constructor & Destructor Documentation

FlagsHeaderClass::FlagsHeaderClass  )  [inline]
 

Definition at line 126 of file packet.cc.

References PacketHeaderClass::bind_offset(), and hdr_flags::offset_.

00126                        : PacketHeaderClass("PacketHeader/Flags",
00127                         sizeof(hdr_flags)) {
00128         bind_offset(&hdr_flags::offset_);
00129     }

Here is the call graph for this function:


Member Function Documentation

void PacketHeaderClass::bind  )  [virtual, inherited]
 

Definition at line 63 of file packet.cc.

References PacketHeaderClass::export_offsets(), and PacketHeaderClass::hdrlen_.

00064 {
00065     TclClass::bind();
00066     Tcl& tcl = Tcl::instance();
00067     tcl.evalf("%s set hdrlen_ %d", classname_, hdrlen_);
00068     export_offsets();
00069     add_method("offset");
00070 }

Here is the call graph for this function:

void PacketHeaderClass::bind_offset int *  off  )  [inline, protected, inherited]
 

Definition at line 521 of file packet.h.

References PacketHeaderClass::offset_.

Referenced by AODVHeaderClass::AODVHeaderClass(), ARPHeaderClass::ARPHeaderClass(), ASRMHeaderClass::ASRMHeaderClass(), CommonHeaderClass::CommonHeaderClass(), CtrMcastHeaderClass::CtrMcastHeaderClass(), DiffHeaderClass::DiffHeaderClass(), encapHeaderClass::encapHeaderClass(), FlagsHeaderClass(), GAFHeaderClass::GAFHeaderClass(), HttpInvalHeaderClass::HttpInvalHeaderClass(), IMEPHeaderClass::IMEPHeaderClass(), IPHeaderClass::IPHeaderClass(), IPinIPHeaderClass::IPinIPHeaderClass(), IvsHeaderClass::IvsHeaderClass(), LDPHeaderClass::LDPHeaderClass(), LLHeaderClass::LLHeaderClass(), LmsHeaderClass::LmsHeaderClass(), LRWPANHeaderClass::LRWPANHeaderClass(), MacHeaderClass::MacHeaderClass(), mcastControlHeaderClass::mcastControlHeaderClass(), MessageHeaderClass::MessageHeaderClass(), MIPHeaderClass::MIPHeaderClass(), PingHeaderClass::PingHeaderClass(), PushbackHeaderClass::PushbackHeaderClass(), QSHeaderClass::QSHeaderClass(), RapHeaderClass::RapHeaderClass(), ResvHeaderClass::ResvHeaderClass(), rtDVHeaderClass::rtDVHeaderClass(), rtLSHeaderClass::rtLSHeaderClass(), RTPHeaderClass::RTPHeaderClass(), SCTPHeaderClass::SCTPHeaderClass(), shimhdreaderClass::shimhdreaderClass(), SnoopHeaderClass::SnoopHeaderClass(), SRCRTHeaderClass::SRCRTHeaderClass(), SRMEXTHeaderClass::SRMEXTHeaderClass(), SRMHeaderClass::SRMHeaderClass(), TCPAHeaderClass::TCPAHeaderClass(), TCPHeaderClass::TCPHeaderClass(), TFRC_ACKHeaderClass::TFRC_ACKHeaderClass(), TFRCHeaderClass::TFRCHeaderClass(), TORAHeaderClass::TORAHeaderClass(), UmpHeaderClass::UmpHeaderClass(), and XCPHeaderClass::XCPHeaderClass().

00521 { offset_ = off; }

TclObject * PacketHeaderClass::create int  argc,
const char *const *  argv
[inherited]
 

Definition at line 58 of file packet.cc.

00059 {
00060     return (0);
00061 }

void PacketHeaderClass::export_offsets  )  [virtual, inherited]
 

Reimplemented in ResvHeaderClass, IPHeaderClass, CommonHeaderClass, and MacHeaderClass.

Definition at line 72 of file packet.cc.

Referenced by PacketHeaderClass::bind().

00073 {
00074 }

void PacketHeaderClass::field_offset const char *  fieldname,
int  offset
[protected, inherited]
 

Definition at line 76 of file packet.cc.

Referenced by ResvHeaderClass::export_offsets(), CommonHeaderClass::export_offsets(), MacHeaderClass::export_offsets(), and IPHeaderClass::export_offsets().

00077 {
00078     Tcl& tcl = Tcl::instance();
00079     tcl.evalf("%s set offset_(%s) %d", classname_, fieldname, offset);
00080 }

int PacketHeaderClass::method int  argc,
const char *const *  argv
[protected, virtual, inherited]
 

Definition at line 82 of file packet.cc.

References PacketHeaderClass::offset_.

00083 {
00084     Tcl& tcl = Tcl::instance();
00085     int argc = ac - 2;
00086     const char*const* argv = av + 2;
00087     if (argc == 3) {
00088         if (strcmp(argv[1], "offset") == 0) {
00089             if (offset_) {
00090                 *offset_ = atoi(argv[2]);
00091                 return TCL_OK;
00092             }
00093             tcl.resultf("Warning: cannot set offset_ for %s",
00094                     classname_);
00095             return TCL_OK;
00096         }
00097     }
00098     else if (argc == 2) {
00099         if (strcmp(argv[1], "offset") == 0) {
00100             if (offset_) {
00101                 tcl.resultf("%d", *offset_);
00102                 return TCL_OK;
00103             }
00104         }
00105     }
00106     return TclClass::method(ac, av);
00107 }

void PacketHeaderClass::offset int *  off  )  [inline, protected, inherited]
 

Definition at line 522 of file packet.h.

References PacketHeaderClass::offset_.

Referenced by SRHeaderClass::SRHeaderClass().

00522 {offset_= off;}


Field Documentation

int PacketHeaderClass::hdrlen_ [protected, inherited]
 

Definition at line 523 of file packet.h.

Referenced by PacketHeaderClass::bind().

int* PacketHeaderClass::offset_ [protected, inherited]
 

Definition at line 524 of file packet.h.

Referenced by PacketHeaderClass::bind_offset(), PacketHeaderClass::method(), and PacketHeaderClass::offset().


The documentation for this class was generated from the following file:
Generated on Tue Mar 6 17:07:56 2007 for ns2 Network Simulator 2.29 by  doxygen 1.4.6