Support namespaces / modules in bif. Checkpoint.

(now actually commiting all the files)

This change is actually two-fold:
a) bif's now accept module XYZ; statements and module::ID for
   function, const, event, enum, etc. declartation
b) Added C++-namespaces to variables, functions, etc. that are declared
   in bif but accessed from C++
   This required some (lightweight) re-factoring of the C++ codes.
   Note, event's don't have their own C++ namespace yet, since this
   would require a rather huge re-factoring.

Compiles and passes test suite.
New namespace feature not tested yet.
Documentation to follow.
This commit is contained in:
Gregor Maier 2011-02-11 09:37:23 -08:00
parent 86fdd1dcf3
commit f79ea244fa
31 changed files with 332 additions and 228 deletions

View file

@ -91,7 +91,7 @@ class DCE_RPC_Header {
public:
DCE_RPC_Header(Analyzer* a, const u_char* bytes);
BroEnum::dce_rpc_ptype PTYPE() const { return ptype; }
BifEnum::dce_rpc_ptype PTYPE() const { return ptype; }
int FragLen() const { return frag_len; }
int LittleEndian() const { return bytes[4] >> 4; }
bool Fragmented() const { return fragmented; }
@ -102,7 +102,7 @@ public:
protected:
Analyzer* analyzer;
const u_char* bytes;
BroEnum::dce_rpc_ptype ptype;
BifEnum::dce_rpc_ptype ptype;
int frag_len;
bool fragmented;
};
@ -138,7 +138,7 @@ protected:
Analyzer* analyzer;
UUID if_uuid;
BroEnum::dce_rpc_if_id if_id;
BifEnum::dce_rpc_if_id if_id;
int opnum;
struct {
dce_rpc_endpoint_addr addr;