| 1 | /* header auto-generated by pidl */
|
|---|
| 2 |
|
|---|
| 3 | #include <stdint.h>
|
|---|
| 4 |
|
|---|
| 5 | #include "libcli/util/ntstatus.h"
|
|---|
| 6 |
|
|---|
| 7 | #include "librpc/gen_ndr/misc.h"
|
|---|
| 8 | #ifndef _HEADER_dcerpc
|
|---|
| 9 | #define _HEADER_dcerpc
|
|---|
| 10 |
|
|---|
| 11 | #define DCERPC_REQUEST_LENGTH ( 24 )
|
|---|
| 12 | #define DCERPC_BIND_REASON_ASYNTAX ( 1 )
|
|---|
| 13 | #define DCERPC_BIND_PROVIDER_REJECT ( 2 )
|
|---|
| 14 | #define DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED ( 4 )
|
|---|
| 15 | #define DCERPC_BIND_REASON_INVALID_AUTH_TYPE ( 8 )
|
|---|
| 16 | #define DCERPC_RESPONSE_LENGTH ( 24 )
|
|---|
| 17 | #define DCERPC_FAULT_OP_RNG_ERROR ( 0x1c010002 )
|
|---|
| 18 | #define DCERPC_FAULT_UNK_IF ( 0x1c010003 )
|
|---|
| 19 | #define DCERPC_FAULT_NDR ( 0x000006f7 )
|
|---|
| 20 | #define DCERPC_FAULT_INVALID_TAG ( 0x1c000006 )
|
|---|
| 21 | #define DCERPC_FAULT_CONTEXT_MISMATCH ( 0x1c00001a )
|
|---|
| 22 | #define DCERPC_FAULT_OTHER ( 0x00000001 )
|
|---|
| 23 | #define DCERPC_FAULT_ACCESS_DENIED ( 0x00000005 )
|
|---|
| 24 | #define DCERPC_FAULT_CANT_PERFORM ( 0x000006d8 )
|
|---|
| 25 | #define DCERPC_FAULT_SEC_PKG_ERROR ( 0x00000721 )
|
|---|
| 26 | #define DCERPC_FAULT_TODO ( 0x00000042 )
|
|---|
| 27 | #define DCERPC_AUTH_LEVEL_DEFAULT ( DCERPC_AUTH_LEVEL_CONNECT )
|
|---|
| 28 | #define DCERPC_AUTH_TRAILER_LENGTH ( 8 )
|
|---|
| 29 | #define DCERPC_PFC_FLAG_FIRST ( 0x01 )
|
|---|
| 30 | #define DCERPC_PFC_FLAG_LAST ( 0x02 )
|
|---|
| 31 | #define DCERPC_PFC_FLAG_PENDING_CANCEL ( 0x04 )
|
|---|
| 32 | #define DCERPC_PFC_FLAG_SUPPORT_HEADER_SIGN ( DCERPC_PFC_FLAG_PENDING_CANCEL )
|
|---|
| 33 | #define DCERPC_PFC_FLAG_CONC_MPX ( 0x10 )
|
|---|
| 34 | #define DCERPC_PFC_FLAG_DID_NOT_EXECUTE ( 0x20 )
|
|---|
| 35 | #define DCERPC_PFC_FLAG_MAYBE ( 0x40 )
|
|---|
| 36 | #define DCERPC_PFC_FLAG_OBJECT_UUID ( 0x80 )
|
|---|
| 37 | #define DCERPC_PFC_OFFSET ( 3 )
|
|---|
| 38 | #define DCERPC_DREP_OFFSET ( 4 )
|
|---|
| 39 | #define DCERPC_FRAG_LEN_OFFSET ( 8 )
|
|---|
| 40 | #define DCERPC_AUTH_LEN_OFFSET ( 10 )
|
|---|
| 41 | #define DCERPC_DREP_LE ( 0x10 )
|
|---|
| 42 | struct dcerpc_ctx_list {
|
|---|
| 43 | uint16_t context_id;
|
|---|
| 44 | uint8_t num_transfer_syntaxes;
|
|---|
| 45 | struct ndr_syntax_id abstract_syntax;
|
|---|
| 46 | struct ndr_syntax_id *transfer_syntaxes;
|
|---|
| 47 | };
|
|---|
| 48 |
|
|---|
| 49 | struct dcerpc_bind {
|
|---|
| 50 | uint16_t max_xmit_frag;
|
|---|
| 51 | uint16_t max_recv_frag;
|
|---|
| 52 | uint32_t assoc_group_id;
|
|---|
| 53 | uint8_t num_contexts;
|
|---|
| 54 | struct dcerpc_ctx_list *ctx_list;
|
|---|
| 55 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN4)] */
|
|---|
| 56 | DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 57 | };
|
|---|
| 58 |
|
|---|
| 59 | struct dcerpc_empty {
|
|---|
| 60 | char _empty_;
|
|---|
| 61 | };
|
|---|
| 62 |
|
|---|
| 63 | union dcerpc_object {
|
|---|
| 64 | struct dcerpc_empty empty;/* [default] */
|
|---|
| 65 | struct GUID object;/* [case(LIBNDR_FLAG_OBJECT_PRESENT)] */
|
|---|
| 66 | }/* [nodiscriminant] */;
|
|---|
| 67 |
|
|---|
| 68 | struct dcerpc_request {
|
|---|
| 69 | uint32_t alloc_hint;
|
|---|
| 70 | uint16_t context_id;
|
|---|
| 71 | uint16_t opnum;
|
|---|
| 72 | union dcerpc_object object;/* [switch_is(ndr->flags&LIBNDR_FLAG_OBJECT_PRESENT)] */
|
|---|
| 73 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
|
|---|
| 74 | DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 75 | };
|
|---|
| 76 |
|
|---|
| 77 | struct dcerpc_ack_ctx {
|
|---|
| 78 | uint16_t result;
|
|---|
| 79 | uint16_t reason;
|
|---|
| 80 | struct ndr_syntax_id syntax;
|
|---|
| 81 | };
|
|---|
| 82 |
|
|---|
| 83 | struct dcerpc_bind_ack {
|
|---|
| 84 | uint16_t max_xmit_frag;
|
|---|
| 85 | uint16_t max_recv_frag;
|
|---|
| 86 | uint32_t assoc_group_id;
|
|---|
| 87 | uint16_t secondary_address_size;/* [value(strlen(secondary_address)+1)] */
|
|---|
| 88 | const char *secondary_address;/* [charset(DOS)] */
|
|---|
| 89 | DATA_BLOB _pad1;/* [flag(LIBNDR_FLAG_ALIGN4)] */
|
|---|
| 90 | uint8_t num_results;
|
|---|
| 91 | struct dcerpc_ack_ctx *ctx_list;
|
|---|
| 92 | DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 93 | };
|
|---|
| 94 |
|
|---|
| 95 | struct dcerpc_bind_nak_versions {
|
|---|
| 96 | uint32_t num_versions;
|
|---|
| 97 | uint32_t *versions;
|
|---|
| 98 | };
|
|---|
| 99 |
|
|---|
| 100 | union dcerpc_bind_nak_versions_ctr {
|
|---|
| 101 | struct dcerpc_bind_nak_versions v;/* [case(DECRPC_BIND_PROTOCOL_VERSION_NOT_SUPPORTED)] */
|
|---|
| 102 | }/* [nodiscriminant] */;
|
|---|
| 103 |
|
|---|
| 104 | struct dcerpc_bind_nak {
|
|---|
| 105 | uint16_t reject_reason;
|
|---|
| 106 | union dcerpc_bind_nak_versions_ctr versions;/* [switch_is(reject_reason)] */
|
|---|
| 107 | };
|
|---|
| 108 |
|
|---|
| 109 | struct dcerpc_response {
|
|---|
| 110 | uint32_t alloc_hint;
|
|---|
| 111 | uint16_t context_id;
|
|---|
| 112 | uint8_t cancel_count;
|
|---|
| 113 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_ALIGN8)] */
|
|---|
| 114 | DATA_BLOB stub_and_verifier;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 115 | };
|
|---|
| 116 |
|
|---|
| 117 | struct dcerpc_fault {
|
|---|
| 118 | uint32_t alloc_hint;
|
|---|
| 119 | uint16_t context_id;
|
|---|
| 120 | uint8_t cancel_count;
|
|---|
| 121 | uint32_t status;
|
|---|
| 122 | DATA_BLOB _pad;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 123 | };
|
|---|
| 124 |
|
|---|
| 125 | enum dcerpc_AuthType
|
|---|
| 126 | #ifndef USE_UINT_ENUMS
|
|---|
| 127 | {
|
|---|
| 128 | DCERPC_AUTH_TYPE_NONE=(int)(0),
|
|---|
| 129 | DCERPC_AUTH_TYPE_KRB5_1=(int)(1),
|
|---|
| 130 | DCERPC_AUTH_TYPE_SPNEGO=(int)(9),
|
|---|
| 131 | DCERPC_AUTH_TYPE_NTLMSSP=(int)(10),
|
|---|
| 132 | DCERPC_AUTH_TYPE_KRB5=(int)(16),
|
|---|
| 133 | DCERPC_AUTH_TYPE_DPA=(int)(17),
|
|---|
| 134 | DCERPC_AUTH_TYPE_MSN=(int)(18),
|
|---|
| 135 | DCERPC_AUTH_TYPE_DIGEST=(int)(21),
|
|---|
| 136 | DCERPC_AUTH_TYPE_SCHANNEL=(int)(68),
|
|---|
| 137 | DCERPC_AUTH_TYPE_MSMQ=(int)(100)
|
|---|
| 138 | }
|
|---|
| 139 | #else
|
|---|
| 140 | { __donnot_use_enum_dcerpc_AuthType=0x7FFFFFFF}
|
|---|
| 141 | #define DCERPC_AUTH_TYPE_NONE ( 0 )
|
|---|
| 142 | #define DCERPC_AUTH_TYPE_KRB5_1 ( 1 )
|
|---|
| 143 | #define DCERPC_AUTH_TYPE_SPNEGO ( 9 )
|
|---|
| 144 | #define DCERPC_AUTH_TYPE_NTLMSSP ( 10 )
|
|---|
| 145 | #define DCERPC_AUTH_TYPE_KRB5 ( 16 )
|
|---|
| 146 | #define DCERPC_AUTH_TYPE_DPA ( 17 )
|
|---|
| 147 | #define DCERPC_AUTH_TYPE_MSN ( 18 )
|
|---|
| 148 | #define DCERPC_AUTH_TYPE_DIGEST ( 21 )
|
|---|
| 149 | #define DCERPC_AUTH_TYPE_SCHANNEL ( 68 )
|
|---|
| 150 | #define DCERPC_AUTH_TYPE_MSMQ ( 100 )
|
|---|
| 151 | #endif
|
|---|
| 152 | ;
|
|---|
| 153 |
|
|---|
| 154 | enum dcerpc_AuthLevel
|
|---|
| 155 | #ifndef USE_UINT_ENUMS
|
|---|
| 156 | {
|
|---|
| 157 | DCERPC_AUTH_LEVEL_NONE=(int)(1),
|
|---|
| 158 | DCERPC_AUTH_LEVEL_CONNECT=(int)(2),
|
|---|
| 159 | DCERPC_AUTH_LEVEL_CALL=(int)(3),
|
|---|
| 160 | DCERPC_AUTH_LEVEL_PACKET=(int)(4),
|
|---|
| 161 | DCERPC_AUTH_LEVEL_INTEGRITY=(int)(5),
|
|---|
| 162 | DCERPC_AUTH_LEVEL_PRIVACY=(int)(6)
|
|---|
| 163 | }
|
|---|
| 164 | #else
|
|---|
| 165 | { __donnot_use_enum_dcerpc_AuthLevel=0x7FFFFFFF}
|
|---|
| 166 | #define DCERPC_AUTH_LEVEL_NONE ( 1 )
|
|---|
| 167 | #define DCERPC_AUTH_LEVEL_CONNECT ( 2 )
|
|---|
| 168 | #define DCERPC_AUTH_LEVEL_CALL ( 3 )
|
|---|
| 169 | #define DCERPC_AUTH_LEVEL_PACKET ( 4 )
|
|---|
| 170 | #define DCERPC_AUTH_LEVEL_INTEGRITY ( 5 )
|
|---|
| 171 | #define DCERPC_AUTH_LEVEL_PRIVACY ( 6 )
|
|---|
| 172 | #endif
|
|---|
| 173 | ;
|
|---|
| 174 |
|
|---|
| 175 | struct dcerpc_auth {
|
|---|
| 176 | enum dcerpc_AuthType auth_type;
|
|---|
| 177 | enum dcerpc_AuthLevel auth_level;
|
|---|
| 178 | uint8_t auth_pad_length;
|
|---|
| 179 | uint8_t auth_reserved;
|
|---|
| 180 | uint32_t auth_context_id;
|
|---|
| 181 | DATA_BLOB credentials;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 182 | }/* [public] */;
|
|---|
| 183 |
|
|---|
| 184 | struct dcerpc_auth3 {
|
|---|
| 185 | uint32_t _pad;
|
|---|
| 186 | DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 187 | }/* [public] */;
|
|---|
| 188 |
|
|---|
| 189 | struct dcerpc_orphaned {
|
|---|
| 190 | uint32_t _pad;
|
|---|
| 191 | DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 192 | }/* [public] */;
|
|---|
| 193 |
|
|---|
| 194 | struct dcerpc_co_cancel {
|
|---|
| 195 | uint32_t _pad;
|
|---|
| 196 | DATA_BLOB auth_info;/* [flag(LIBNDR_FLAG_REMAINING)] */
|
|---|
| 197 | }/* [public] */;
|
|---|
| 198 |
|
|---|
| 199 | struct dcerpc_cl_cancel {
|
|---|
| 200 | uint32_t version;
|
|---|
| 201 | uint32_t id;
|
|---|
| 202 | }/* [public] */;
|
|---|
| 203 |
|
|---|
| 204 | struct dcerpc_cancel_ack {
|
|---|
| 205 | uint32_t version;
|
|---|
| 206 | uint32_t id;
|
|---|
| 207 | uint32_t server_is_accepting;
|
|---|
| 208 | }/* [public] */;
|
|---|
| 209 |
|
|---|
| 210 | struct dcerpc_fack {
|
|---|
| 211 | uint32_t version;
|
|---|
| 212 | uint8_t _pad1;
|
|---|
| 213 | uint16_t window_size;
|
|---|
| 214 | uint32_t max_tdsu;
|
|---|
| 215 | uint32_t max_frag_size;
|
|---|
| 216 | uint16_t serial_no;
|
|---|
| 217 | uint16_t selack_size;
|
|---|
| 218 | uint32_t *selack;
|
|---|
| 219 | }/* [public] */;
|
|---|
| 220 |
|
|---|
| 221 | struct dcerpc_ack {
|
|---|
| 222 | char _empty_;
|
|---|
| 223 | }/* [public] */;
|
|---|
| 224 |
|
|---|
| 225 | struct dcerpc_ping {
|
|---|
| 226 | char _empty_;
|
|---|
| 227 | }/* [public] */;
|
|---|
| 228 |
|
|---|
| 229 | struct dcerpc_shutdown {
|
|---|
| 230 | char _empty_;
|
|---|
| 231 | }/* [public] */;
|
|---|
| 232 |
|
|---|
| 233 | struct dcerpc_working {
|
|---|
| 234 | char _empty_;
|
|---|
| 235 | }/* [public] */;
|
|---|
| 236 |
|
|---|
| 237 | enum dcerpc_pkt_type
|
|---|
| 238 | #ifndef USE_UINT_ENUMS
|
|---|
| 239 | {
|
|---|
| 240 | DCERPC_PKT_REQUEST=(int)(0),
|
|---|
| 241 | DCERPC_PKT_PING=(int)(1),
|
|---|
| 242 | DCERPC_PKT_RESPONSE=(int)(2),
|
|---|
| 243 | DCERPC_PKT_FAULT=(int)(3),
|
|---|
| 244 | DCERPC_PKT_WORKING=(int)(4),
|
|---|
| 245 | DCERPC_PKT_NOCALL=(int)(5),
|
|---|
| 246 | DCERPC_PKT_REJECT=(int)(6),
|
|---|
| 247 | DCERPC_PKT_ACK=(int)(7),
|
|---|
| 248 | DCERPC_PKT_CL_CANCEL=(int)(8),
|
|---|
| 249 | DCERPC_PKT_FACK=(int)(9),
|
|---|
| 250 | DCERPC_PKT_CANCEL_ACK=(int)(10),
|
|---|
| 251 | DCERPC_PKT_BIND=(int)(11),
|
|---|
| 252 | DCERPC_PKT_BIND_ACK=(int)(12),
|
|---|
| 253 | DCERPC_PKT_BIND_NAK=(int)(13),
|
|---|
| 254 | DCERPC_PKT_ALTER=(int)(14),
|
|---|
| 255 | DCERPC_PKT_ALTER_RESP=(int)(15),
|
|---|
| 256 | DCERPC_PKT_AUTH3=(int)(16),
|
|---|
| 257 | DCERPC_PKT_SHUTDOWN=(int)(17),
|
|---|
| 258 | DCERPC_PKT_CO_CANCEL=(int)(18),
|
|---|
| 259 | DCERPC_PKT_ORPHANED=(int)(19)
|
|---|
| 260 | }
|
|---|
| 261 | #else
|
|---|
| 262 | { __donnot_use_enum_dcerpc_pkt_type=0x7FFFFFFF}
|
|---|
| 263 | #define DCERPC_PKT_REQUEST ( 0 )
|
|---|
| 264 | #define DCERPC_PKT_PING ( 1 )
|
|---|
| 265 | #define DCERPC_PKT_RESPONSE ( 2 )
|
|---|
| 266 | #define DCERPC_PKT_FAULT ( 3 )
|
|---|
| 267 | #define DCERPC_PKT_WORKING ( 4 )
|
|---|
| 268 | #define DCERPC_PKT_NOCALL ( 5 )
|
|---|
| 269 | #define DCERPC_PKT_REJECT ( 6 )
|
|---|
| 270 | #define DCERPC_PKT_ACK ( 7 )
|
|---|
| 271 | #define DCERPC_PKT_CL_CANCEL ( 8 )
|
|---|
| 272 | #define DCERPC_PKT_FACK ( 9 )
|
|---|
| 273 | #define DCERPC_PKT_CANCEL_ACK ( 10 )
|
|---|
| 274 | #define DCERPC_PKT_BIND ( 11 )
|
|---|
| 275 | #define DCERPC_PKT_BIND_ACK ( 12 )
|
|---|
| 276 | #define DCERPC_PKT_BIND_NAK ( 13 )
|
|---|
| 277 | #define DCERPC_PKT_ALTER ( 14 )
|
|---|
| 278 | #define DCERPC_PKT_ALTER_RESP ( 15 )
|
|---|
| 279 | #define DCERPC_PKT_AUTH3 ( 16 )
|
|---|
| 280 | #define DCERPC_PKT_SHUTDOWN ( 17 )
|
|---|
| 281 | #define DCERPC_PKT_CO_CANCEL ( 18 )
|
|---|
| 282 | #define DCERPC_PKT_ORPHANED ( 19 )
|
|---|
| 283 | #endif
|
|---|
| 284 | ;
|
|---|
| 285 |
|
|---|
| 286 | union dcerpc_payload {
|
|---|
| 287 | struct dcerpc_request request;/* [case(DCERPC_PKT_REQUEST)] */
|
|---|
| 288 | struct dcerpc_ping ping;/* [case(DCERPC_PKT_PING)] */
|
|---|
| 289 | struct dcerpc_response response;/* [case(DCERPC_PKT_RESPONSE)] */
|
|---|
| 290 | struct dcerpc_fault fault;/* [case(DCERPC_PKT_FAULT)] */
|
|---|
| 291 | struct dcerpc_working working;/* [case(DCERPC_PKT_WORKING)] */
|
|---|
| 292 | struct dcerpc_fack nocall;/* [case(DCERPC_PKT_NOCALL)] */
|
|---|
| 293 | struct dcerpc_fault reject;/* [case(DCERPC_PKT_REJECT)] */
|
|---|
| 294 | struct dcerpc_ack ack;/* [case(DCERPC_PKT_ACK)] */
|
|---|
| 295 | struct dcerpc_cl_cancel cl_cancel;/* [case(DCERPC_PKT_CL_CANCEL)] */
|
|---|
| 296 | struct dcerpc_fack fack;/* [case(DCERPC_PKT_FACK)] */
|
|---|
| 297 | struct dcerpc_cancel_ack cancel_ack;/* [case(DCERPC_PKT_CANCEL_ACK)] */
|
|---|
| 298 | struct dcerpc_bind bind;/* [case(DCERPC_PKT_BIND)] */
|
|---|
| 299 | struct dcerpc_bind_ack bind_ack;/* [case(DCERPC_PKT_BIND_ACK)] */
|
|---|
| 300 | struct dcerpc_bind_nak bind_nak;/* [case(DCERPC_PKT_BIND_NAK)] */
|
|---|
| 301 | struct dcerpc_bind alter;/* [case(DCERPC_PKT_ALTER)] */
|
|---|
| 302 | struct dcerpc_bind_ack alter_resp;/* [case(DCERPC_PKT_ALTER_RESP)] */
|
|---|
| 303 | struct dcerpc_shutdown shutdown;/* [case(DCERPC_PKT_SHUTDOWN)] */
|
|---|
| 304 | struct dcerpc_co_cancel co_cancel;/* [case(DCERPC_PKT_CO_CANCEL)] */
|
|---|
| 305 | struct dcerpc_orphaned orphaned;/* [case(DCERPC_PKT_ORPHANED)] */
|
|---|
| 306 | struct dcerpc_auth3 auth3;/* [case(DCERPC_PKT_AUTH3)] */
|
|---|
| 307 | }/* [nodiscriminant] */;
|
|---|
| 308 |
|
|---|
| 309 | struct ncacn_packet {
|
|---|
| 310 | uint8_t rpc_vers;
|
|---|
| 311 | uint8_t rpc_vers_minor;
|
|---|
| 312 | enum dcerpc_pkt_type ptype;
|
|---|
| 313 | uint8_t pfc_flags;
|
|---|
| 314 | uint8_t drep[4];
|
|---|
| 315 | uint16_t frag_length;
|
|---|
| 316 | uint16_t auth_length;
|
|---|
| 317 | uint32_t call_id;
|
|---|
| 318 | union dcerpc_payload u;/* [switch_is(ptype)] */
|
|---|
| 319 | }/* [public] */;
|
|---|
| 320 |
|
|---|
| 321 | struct ncadg_packet {
|
|---|
| 322 | uint8_t rpc_vers;
|
|---|
| 323 | uint8_t ptype;
|
|---|
| 324 | uint8_t pfc_flags;
|
|---|
| 325 | uint8_t ncadg_flags;
|
|---|
| 326 | uint8_t drep[3];
|
|---|
| 327 | uint8_t serial_high;
|
|---|
| 328 | struct GUID object;
|
|---|
| 329 | struct GUID iface;
|
|---|
| 330 | struct GUID activity;
|
|---|
| 331 | uint32_t server_boot;
|
|---|
| 332 | uint32_t iface_version;
|
|---|
| 333 | uint32_t seq_num;
|
|---|
| 334 | uint16_t opnum;
|
|---|
| 335 | uint16_t ihint;
|
|---|
| 336 | uint16_t ahint;
|
|---|
| 337 | uint16_t len;
|
|---|
| 338 | uint16_t fragnum;
|
|---|
| 339 | uint8_t auth_proto;
|
|---|
| 340 | uint8_t serial_low;
|
|---|
| 341 | union dcerpc_payload u;/* [switch_is(ptype)] */
|
|---|
| 342 | }/* [public] */;
|
|---|
| 343 |
|
|---|
| 344 | #endif /* _HEADER_dcerpc */
|
|---|