mirror of
https://github.com/samba-team/samba.git
synced 2024-12-28 07:21:54 +03:00
8140a7bb76
Signed-off-by: Garming Sam <garming@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
144 lines
4.3 KiB
Plaintext
144 lines
4.3 KiB
Plaintext
#include "idl_types.h"
|
|
|
|
/*
|
|
miscellaneous IDL structures
|
|
*/
|
|
|
|
|
|
[
|
|
pyhelper("librpc/ndr/py_misc.c"),
|
|
pointer_default(unique)
|
|
]
|
|
interface misc
|
|
{
|
|
typedef [public,noprint,gensize] struct {
|
|
uint32 time_low;
|
|
uint16 time_mid;
|
|
uint16 time_hi_and_version;
|
|
uint8 clock_seq[2];
|
|
uint8 node[6];
|
|
} GUID;
|
|
|
|
typedef [public] struct {
|
|
GUID uuid;
|
|
/* The major version is encoded in the 16 least significant bits,
|
|
the minor in the 16 most significant bits.
|
|
http://www.opengroup.org/onlinepubs/9629399/chap12.htm */
|
|
uint32 if_version;
|
|
} ndr_syntax_id;
|
|
|
|
typedef [public] struct {
|
|
uint32 handle_type;
|
|
GUID uuid;
|
|
} policy_handle;
|
|
|
|
/* secure channel types */
|
|
/* Only SEC_CHAN_WKSTA can forward requests to other domains. */
|
|
|
|
typedef [public] enum {
|
|
SEC_CHAN_NULL = 0,
|
|
SEC_CHAN_LOCAL = 1,
|
|
SEC_CHAN_WKSTA = 2,
|
|
SEC_CHAN_DNS_DOMAIN = 3,
|
|
SEC_CHAN_DOMAIN = 4,
|
|
SEC_CHAN_LANMAN = 5,
|
|
SEC_CHAN_BDC = 6,
|
|
SEC_CHAN_RODC = 7
|
|
} netr_SchannelType;
|
|
|
|
typedef [public] struct {
|
|
NTSTATUS ntstatus;
|
|
uint32 unknown1;
|
|
uint32 unknown2; /* 0x00000001 */
|
|
} KRB5_EDATA_NTSTATUS;
|
|
|
|
typedef [public,v1_enum] enum {
|
|
REG_NONE = 0,
|
|
REG_SZ = 1,
|
|
REG_EXPAND_SZ = 2,
|
|
REG_BINARY = 3,
|
|
REG_DWORD = 4,
|
|
REG_DWORD_BIG_ENDIAN = 5,
|
|
REG_LINK = 6,
|
|
REG_MULTI_SZ = 7,
|
|
REG_RESOURCE_LIST = 8,
|
|
REG_FULL_RESOURCE_DESCRIPTOR = 9,
|
|
REG_RESOURCE_REQUIREMENTS_LIST = 10,
|
|
REG_QWORD = 11
|
|
} winreg_Type;
|
|
|
|
typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN)] union {
|
|
[case(REG_NONE)];
|
|
[case(REG_SZ)] nstring string;
|
|
[case(REG_EXPAND_SZ)] nstring string;
|
|
[case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
|
|
[case(REG_DWORD)] uint32 value;
|
|
[case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
|
|
[case(REG_MULTI_SZ)] nstring_array string_array;
|
|
[case(REG_QWORD)] hyper qword;
|
|
[default,flag(NDR_REMAINING)] DATA_BLOB data;
|
|
} winreg_Data;
|
|
|
|
/*
|
|
* We duplicate the above winreg_Data for usage in the GPO python
|
|
* parsers which cannot handle nstring_array. This should be only
|
|
* temporary, until we can get PIDL to generate the correct bindings.
|
|
*/
|
|
typedef [nodiscriminant,public,flag(NDR_LITTLE_ENDIAN),gensize] union {
|
|
[case(REG_NONE)];
|
|
[case(REG_SZ)] nstring string;
|
|
[case(REG_EXPAND_SZ)] nstring string;
|
|
[case(REG_BINARY),flag(NDR_REMAINING)] DATA_BLOB binary;
|
|
[case(REG_DWORD)] uint32 value;
|
|
[case(REG_DWORD_BIG_ENDIAN),flag(NDR_BIG_ENDIAN)] uint32 value;
|
|
/*
|
|
* There are no python handlers for nstring_array.
|
|
* Prefer a fallback to DATA_BLOB instead.
|
|
*
|
|
* [case(REG_MULTI_SZ)] nstring_array string_array;
|
|
*/
|
|
[case(REG_QWORD)] hyper qword;
|
|
[default,flag(NDR_REMAINING)] DATA_BLOB data;
|
|
} winreg_Data_GPO;
|
|
|
|
/* SAM database types */
|
|
typedef [public,v1_enum] enum {
|
|
SAM_DATABASE_DOMAIN = 0, /* Domain users and groups */
|
|
SAM_DATABASE_BUILTIN = 1, /* BUILTIN users and groups */
|
|
SAM_DATABASE_PRIVS = 2 /* Privileges */
|
|
} netr_SamDatabaseID;
|
|
|
|
typedef [public,bitmap32bit] bitmap {
|
|
SV_TYPE_WORKSTATION = 0x00000001,
|
|
SV_TYPE_SERVER = 0x00000002,
|
|
SV_TYPE_SQLSERVER = 0x00000004,
|
|
SV_TYPE_DOMAIN_CTRL = 0x00000008,
|
|
SV_TYPE_DOMAIN_BAKCTRL = 0x00000010,
|
|
SV_TYPE_TIME_SOURCE = 0x00000020,
|
|
SV_TYPE_AFP = 0x00000040,
|
|
SV_TYPE_NOVELL = 0x00000080,
|
|
|
|
SV_TYPE_DOMAIN_MEMBER = 0x00000100,
|
|
SV_TYPE_PRINTQ_SERVER = 0x00000200,
|
|
SV_TYPE_DIALIN_SERVER = 0x00000400,
|
|
SV_TYPE_SERVER_UNIX = 0x00000800,
|
|
SV_TYPE_NT = 0x00001000,
|
|
SV_TYPE_WFW = 0x00002000,
|
|
SV_TYPE_SERVER_MFPN = 0x00004000,
|
|
SV_TYPE_SERVER_NT = 0x00008000,
|
|
SV_TYPE_POTENTIAL_BROWSER = 0x00010000,
|
|
SV_TYPE_BACKUP_BROWSER = 0x00020000,
|
|
SV_TYPE_MASTER_BROWSER = 0x00040000,
|
|
SV_TYPE_DOMAIN_MASTER = 0x00080000,
|
|
SV_TYPE_SERVER_OSF = 0x00100000,
|
|
SV_TYPE_SERVER_VMS = 0x00200000,
|
|
SV_TYPE_WIN95_PLUS = 0x00400000,
|
|
SV_TYPE_DFS_SERVER = 0x00800000,
|
|
SV_TYPE_ALTERNATE_XPORT = 0x20000000,
|
|
SV_TYPE_LOCAL_LIST_ONLY = 0x40000000,
|
|
SV_TYPE_DOMAIN_ENUM = 0x80000000
|
|
} svcctl_ServerType;
|
|
|
|
const uint32 SV_TYPE_ALL = 0xFFFFFFFF;
|
|
}
|