| 1 | #include "idl_types.h"
 | 
|---|
| 2 | 
 | 
|---|
| 3 | /*
 | 
|---|
| 4 |   miscellaneous IDL structures
 | 
|---|
| 5 | */
 | 
|---|
| 6 | 
 | 
|---|
| 7 | 
 | 
|---|
| 8 | [
 | 
|---|
| 9 |         pyhelper("librpc/ndr/py_misc.c"),
 | 
|---|
| 10 |         pointer_default(unique)
 | 
|---|
| 11 | ]
 | 
|---|
| 12 | interface misc
 | 
|---|
| 13 | {
 | 
|---|
| 14 |         typedef [public,noprint,gensize] struct {
 | 
|---|
| 15 |                 uint32 time_low;
 | 
|---|
| 16 |                 uint16 time_mid;
 | 
|---|
| 17 |                 uint16 time_hi_and_version;
 | 
|---|
| 18 |                 uint8  clock_seq[2];
 | 
|---|
| 19 |                 uint8  node[6];
 | 
|---|
| 20 |         } GUID;
 | 
|---|
| 21 | 
 | 
|---|
| 22 |         typedef [public] struct {
 | 
|---|
| 23 |                 GUID uuid;
 | 
|---|
| 24 |                 uint32 if_version;
 | 
|---|
| 25 |         } ndr_syntax_id;
 | 
|---|
| 26 | 
 | 
|---|
| 27 |         typedef [public] struct {
 | 
|---|
| 28 |                 uint32 handle_type;
 | 
|---|
| 29 |                 GUID   uuid;
 | 
|---|
| 30 |         } policy_handle;
 | 
|---|
| 31 | 
 | 
|---|
| 32 |         /* secure channel types */
 | 
|---|
| 33 |         /* Only SEC_CHAN_WKSTA can forward requests to other domains. */
 | 
|---|
| 34 | 
 | 
|---|
| 35 |         typedef [public] enum {
 | 
|---|
| 36 |                 SEC_CHAN_NULL        = 0,
 | 
|---|
| 37 |                 SEC_CHAN_WKSTA       = 2,
 | 
|---|
| 38 |                 SEC_CHAN_DNS_DOMAIN  = 3,
 | 
|---|
| 39 |                 SEC_CHAN_DOMAIN      = 4,
 | 
|---|
| 40 |                 SEC_CHAN_BDC         = 6
 | 
|---|
| 41 |         } netr_SchannelType;
 | 
|---|
| 42 | 
 | 
|---|
| 43 |         typedef [public] struct {
 | 
|---|
| 44 |                 NTSTATUS ntstatus;
 | 
|---|
| 45 |                 uint32 unknown1;
 | 
|---|
| 46 |                 uint32 unknown2; /* 0x00000001 */
 | 
|---|
| 47 |         } KRB5_EDATA_NTSTATUS;
 | 
|---|
| 48 | 
 | 
|---|
| 49 |         typedef [public,v1_enum] enum {
 | 
|---|
| 50 |                 REG_NONE                       = 0,
 | 
|---|
| 51 |                 REG_SZ                         = 1,
 | 
|---|
| 52 |                 REG_EXPAND_SZ                  = 2,
 | 
|---|
| 53 |                 REG_BINARY                     = 3,
 | 
|---|
| 54 |                 REG_DWORD                      = 4,
 | 
|---|
| 55 |                 REG_DWORD_BIG_ENDIAN           = 5,
 | 
|---|
| 56 |                 REG_LINK                       = 6,
 | 
|---|
| 57 |                 REG_MULTI_SZ                   = 7,
 | 
|---|
| 58 |                 REG_RESOURCE_LIST              = 8,
 | 
|---|
| 59 |                 REG_FULL_RESOURCE_DESCRIPTOR   = 9,
 | 
|---|
| 60 |                 REG_RESOURCE_REQUIREMENTS_LIST = 10,
 | 
|---|
| 61 |                 REG_QWORD                      = 11
 | 
|---|
| 62 |         } winreg_Type;
 | 
|---|
| 63 | 
 | 
|---|
| 64 |         typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
 | 
|---|
| 65 |                 [case(REG_NONE)];
 | 
|---|
| 66 |                 [case(REG_SZ)] nstring string;
 | 
|---|
| 67 |                 [case(REG_EXPAND_SZ)] nstring string;
 | 
|---|
| 68 |                 [case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
 | 
|---|
| 69 |                 [case(REG_DWORD)] uint32 value;
 | 
|---|
| 70 |                 [case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
 | 
|---|
| 71 |                 [case(REG_MULTI_SZ)] nstring_array string_array;
 | 
|---|
| 72 |                 [default,flag(NDR_REMAINING)] DATA_BLOB data;
 | 
|---|
| 73 |         } winreg_Data;
 | 
|---|
| 74 | }
 | 
|---|