summaryrefslogtreecommitdiff
path: root/source4/librpc/idl
diff options
context:
space:
mode:
Diffstat (limited to 'source4/librpc/idl')
-rw-r--r--source4/librpc/idl/drsuapi.idl73
1 files changed, 53 insertions, 20 deletions
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl
index fc9aee6b7f..d49f3d294a 100644
--- a/source4/librpc/idl/drsuapi.idl
+++ b/source4/librpc/idl/drsuapi.idl
@@ -72,44 +72,77 @@ interface drsuapi
/*****************/
/* Function 0x0c */
+ typedef enum {
+ DRSUAPI_DS_NAME_STATUS_OK = 0,
+ DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR = 1,
+ DRSUAPI_DS_NAME_STATUS_NOT_FOUND = 2,
+ DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE = 3,
+ DRSUAPI_DS_NAME_STATUS_NO_MAPPING = 4,
+ DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY = 5,
+ DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING = 6,
+ DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL = 7
+ } drsuapi_DsNameStatus;
+
+ typedef enum {
+ DRSUAPI_DS_NAME_FLAG_NO_FLAGS = 0x0,
+ DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY = 0x1,
+ DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC = 0x2,
+ DRSUAPI_DS_NAME_FLAG_GCVERIFY = 0x4,
+ DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL = 0x8
+ } drsuapi_DsNameFlags;
+
+ typedef enum {
+ DRSUAPI_DS_NAME_FORMAT_UKNOWN = 0,
+ DRSUAPI_DS_NAME_FORMAT_FQDN_1779 = 1,
+ DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT = 2,
+ DRSUAPI_DS_NAME_FORMAT_DISPLAY = 3,
+ DRSUAPI_DS_NAME_FORMAT_GUID = 6,
+ DRSUAPI_DS_NAME_FORMAT_CANONICAL = 7,
+ DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL = 8,
+ DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX = 9,
+ DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL = 10,
+ DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY = 11,
+ DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN = 12
+ } drsuapi_DsNameFormat;
+
typedef struct {
unistr *str;
- } drsuapi_DsCrackNamesInInfo1Names;
+ } drsuapi_DsNameString;
typedef struct {
- uint32 unknown1;
- uint32 unknown2;
- uint32 unknown3;
- uint32 unknown4;
- uint32 unknown5;
+ uint32 unknown1; /* 0x000004e4 */
+ uint32 unknown2; /* 0x00000407 */
+ uint32 format_flags;
+ uint32 format_offered;
+ uint32 format_desired;
[range(1,10000)] uint32 count;
- [size_is(count)] drsuapi_DsCrackNamesInInfo1Names *names;
- } drsuapi_DsCrackNamesInInfo1;
+ [size_is(count)] drsuapi_DsNameString *names;
+ } drsuapi_DsNameRequest1;
typedef union {
- [case(1)] drsuapi_DsCrackNamesInInfo1 info1;
- } drsuapi_DsCrackNamesInInfo;
+ [case(1)] drsuapi_DsNameRequest1 req1;
+ } drsuapi_DsNameRequest;
typedef struct {
- uint32 unknown1;
- unistr *name1;
- unistr *name2;
- } drsuapi_DsCrackNamesOutInfo1Names;
+ uint32 status;
+ unistr *dns_domain_name;
+ unistr *result_name;
+ } drsuapi_DsNameInfo1;
typedef struct {
uint32 count;
- [size_is(count)] drsuapi_DsCrackNamesOutInfo1Names *names;
- } drsuapi_DsCrackNamesOutInfo1;
+ [size_is(count)] drsuapi_DsNameInfo1 *array;
+ } drsuapi_DsNameCtr1;
typedef union {
- [case(1)] drsuapi_DsCrackNamesOutInfo1 *info1;
- } drsuapi_DsCrackNamesOutInfo;
+ [case(1)] drsuapi_DsNameCtr1 *ctr1;
+ } drsuapi_DsNameCtr;
NTSTATUS drsuapi_DsCrackNames(
[in,ref] policy_handle *bind_handle,
[in, out] uint32 level,
- [in,switch_is(level)] drsuapi_DsCrackNamesInInfo in,
- [out,switch_is(level)] drsuapi_DsCrackNamesOutInfo out
+ [in,switch_is(level)] drsuapi_DsNameRequest req,
+ [out,switch_is(level)] drsuapi_DsNameCtr ctr
);
/*****************/