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

DCE_RPC_Header Class Reference

#include <DCE_RPC.h>

Collaboration diagram for DCE_RPC_Header:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DCE_RPC_Header (Connection *conn, const u_char *bytes)
enum DCE_RPC_PTYPE PTYPE () const
int FragLen () const
int LittleEndian () const
bool Fragmented () const
void Weird (const char *msg)
void SetBytes (const u_char *b)

Protected Attributes

Connectionconn
const u_char * bytes
enum DCE_RPC_PTYPE ptype
int frag_len
bool fragmented

Constructor & Destructor Documentation

DCE_RPC_Header::DCE_RPC_Header Connection conn,
const u_char *  bytes
 

Definition at line 35 of file DCE_RPC.cc.

References bytes, DCE_RPC_PTYPE, extract_uint16, frag_len, fragmented, LittleEndian(), ptype, and Weird().

00036         {
00037         conn = c;
00038         bytes = b;
00039 
00040         // This checks whether it's both the first fragment *and*
00041         // the last fragment.
00042         if ( bytes[3] & 0x3 != 0x3 )
00043                 {
00044                 fragmented = 1;
00045                 Weird("Fragmented DCE/RPC message");
00046                 }
00047         else
00048                 fragmented = 0;
00049 
00050         ptype = (enum DCE_RPC_PTYPE) bytes[2];
00051         frag_len = extract_uint16(LittleEndian(), bytes + 8);
00052         }


Member Function Documentation

int DCE_RPC_Header::FragLen  )  const [inline]
 

Definition at line 46 of file DCE_RPC.h.

References frag_len.

Referenced by TCP_Contents_DCE_RPC::ParseHeader().

00046 { return frag_len; }

bool DCE_RPC_Header::Fragmented  )  const [inline]
 

Definition at line 48 of file DCE_RPC.h.

References fragmented.

00048 { return fragmented; }

int DCE_RPC_Header::LittleEndian  )  const [inline]
 

Definition at line 47 of file DCE_RPC.h.

Referenced by DCE_RPC_Header().

00047 { return bytes[4] >> 4; }

enum DCE_RPC_PTYPE DCE_RPC_Header::PTYPE  )  const [inline]
 

Definition at line 45 of file DCE_RPC.h.

References DCE_RPC_PTYPE, and ptype.

Referenced by TCP_Contents_DCE_RPC::DeliverPDU().

00045 { return ptype; }

void DCE_RPC_Header::SetBytes const u_char *  b  )  [inline]
 

Definition at line 51 of file DCE_RPC.h.

Referenced by TCP_Contents_DCE_RPC::ParseHeader().

00051 { bytes = b; }

void DCE_RPC_Header::Weird const char *  msg  )  [inline]
 

Definition at line 50 of file DCE_RPC.h.

References Connection::Weird().

Referenced by DCE_RPC_Header().

00050 { conn->Weird(msg); }


Member Data Documentation

const u_char* DCE_RPC_Header::bytes [protected]
 

Definition at line 55 of file DCE_RPC.h.

Referenced by DCE_RPC_Header().

Connection* DCE_RPC_Header::conn [protected]
 

Definition at line 54 of file DCE_RPC.h.

int DCE_RPC_Header::frag_len [protected]
 

Definition at line 57 of file DCE_RPC.h.

Referenced by DCE_RPC_Header(), and FragLen().

bool DCE_RPC_Header::fragmented [protected]
 

Definition at line 58 of file DCE_RPC.h.

Referenced by DCE_RPC_Header(), and Fragmented().

enum DCE_RPC_PTYPE DCE_RPC_Header::ptype [protected]
 

Definition at line 56 of file DCE_RPC.h.

Referenced by DCE_RPC_Header(), and PTYPE().


The documentation for this class was generated from the following files:
Generated on Sat May 1 15:30:22 2004 for bro_docs.8a82 by doxygen 1.3.6