#include <dce_rpc_pac.h>
Collaboration diagram for BinPAC::DCE_RPC_Response:

Public Member Functions | |
| DCE_RPC_Response (int arg_length) | |
| ~DCE_RPC_Response () | |
| int | parse (const uint8 *const t_begin_of_data, const uint8 *const t_end_of_data, int t_byteorder) |
| int const | length () const |
| uint32 const & | alloc_hint () const |
| p_context_id_t *const & | p_cont_id () const |
| uint8 const & | cancel_count () const |
| uint8 const & | reserved () const |
| array< uint8 > const & | stub () const |
Protected Attributes | |
| int | length_ |
| uint32 | alloc_hint_ |
| p_context_id_t * | p_cont_id_ |
| uint8 | cancel_count_ |
| uint8 | reserved_ |
| array< uint8 > | stub_ |
|
|
Definition at line 479 of file dce_rpc_pac.cc. References alloc_hint_, cancel_count_, length_, BinPAC::make_array(), p_cont_id_, reserved_, and stub_.
00480 {
00481 length_ = arg_length;
00482 alloc_hint_ = 0;
00483 p_cont_id_ = 0;
00484 cancel_count_ = 0;
00485 reserved_ = 0;
00486 make_array(stub_, 0);
00487 }
|
|
|
Definition at line 489 of file dce_rpc_pac.cc. References BinPAC::delete_array(), p_cont_id_, and stub_.
00490 {
00491 delete p_cont_id_;
00492 delete_array(stub_);
00493 }
|
|
|
Definition at line 258 of file dce_rpc_pac.h. References alloc_hint_, and BinPAC::uint32.
00258 { return alloc_hint_; }
|
|
|
Definition at line 260 of file dce_rpc_pac.h. References cancel_count_, and BinPAC::uint8.
00260 { return cancel_count_; }
|
|
|
Definition at line 257 of file dce_rpc_pac.h. References length_. Referenced by parse().
00257 { return length_; };
|
|
|
Definition at line 259 of file dce_rpc_pac.h. References p_cont_id_.
00259 { return p_cont_id_; }
|
|
||||||||||||||||
|
Definition at line 495 of file dce_rpc_pac.cc. References alloc_hint_, cancel_count_, length(), p_cont_id_, BinPAC::p_context_id_t::parse(), reserved_, stub_, and BinPAC::uint8.
00496 {
00497 // Checking out-of-bound for "DCE_RPC_Response:reserved"
00498 if ( (t_begin_of_data + 7) + (1) > t_end_of_data )
00499 {
00500 // Handle out-of-bound condition
00501 throw ExceptionOutOfBound("DCE_RPC_Response:reserved",
00502 (7) + (1),
00503 (t_end_of_data) - (t_begin_of_data));
00504 }
00505 // Parse "alloc_hint"
00506 alloc_hint_ = UnMarshall<uint32>(t_begin_of_data, alloc_hint_, t_byteorder);
00507
00508 // Parse "p_cont_id"
00509 p_cont_id_ = new p_context_id_t();
00510 p_cont_id_->parse((t_begin_of_data + 4), t_end_of_data, t_byteorder);
00511
00512 // Parse "cancel_count"
00513 cancel_count_ = *((uint8 *) ((t_begin_of_data + 6)));
00514
00515 // Parse "reserved"
00516 reserved_ = *((uint8 *) ((t_begin_of_data + 7)));
00517
00518 // Parse "stub"
00519 int t_stub__arraylength = length() - 8;
00520 int t_stub__size = 1 * t_stub__arraylength;
00521 // Checking out-of-bound for "DCE_RPC_Response:stub"
00522 if ( (t_begin_of_data + 8) + (t_stub__size) > t_end_of_data )
00523 {
00524 // Handle out-of-bound condition
00525 throw ExceptionOutOfBound("DCE_RPC_Response:stub",
00526 (8) + (t_stub__size),
00527 (t_end_of_data) - (t_begin_of_data));
00528 }
00529 make_array<uint8>(stub_, t_stub__arraylength);
00530 const uint8* t_stub__elem__data = (t_begin_of_data + 8);
00531 for ( int t_stub__elem__it = 0;
00532 t_stub__elem__it < t_stub__arraylength;
00533 ++t_stub__elem__it )
00534 {
00535 uint8 t_stub__elem;
00536 t_stub__elem = *((uint8 *) (t_stub__elem__data));
00537 stub_.v[t_stub__elem__it] = t_stub__elem;
00538 t_stub__elem__data += 1;
00539 }
00540
00541 const uint8* const t_dataptr_after_stub = (t_begin_of_data + 8) + (t_stub__size);
00542 int t_val__size = t_dataptr_after_stub - t_begin_of_data;
00543 return t_val__size;
00544 }
|
|
|
Definition at line 261 of file dce_rpc_pac.h. References reserved_, and BinPAC::uint8.
00261 { return reserved_; }
|
|
|
Definition at line 262 of file dce_rpc_pac.h. References stub_. Referenced by DCE_RPC_Session::DeliverEpmapperMapResponse(), and DCE_RPC_Session::DeliverResponse().
00262 { return stub_; }
|
|
|
Definition at line 266 of file dce_rpc_pac.h. Referenced by alloc_hint(), DCE_RPC_Response(), and parse(). |
|
|
Definition at line 268 of file dce_rpc_pac.h. Referenced by cancel_count(), DCE_RPC_Response(), and parse(). |
|
|
Definition at line 265 of file dce_rpc_pac.h. Referenced by DCE_RPC_Response(), and length(). |
|
|
Definition at line 267 of file dce_rpc_pac.h. Referenced by DCE_RPC_Response(), p_cont_id(), parse(), and ~DCE_RPC_Response(). |
|
|
Definition at line 269 of file dce_rpc_pac.h. Referenced by DCE_RPC_Response(), parse(), and reserved(). |
|
|
Definition at line 270 of file dce_rpc_pac.h. Referenced by DCE_RPC_Response(), parse(), stub(), and ~DCE_RPC_Response(). |
1.3.5