summaryrefslogtreecommitdiff
path: root/source4/librpc
diff options
context:
space:
mode:
authorKai Blin <kai@samba.org>2008-03-29 01:42:06 +0100
committerKai Blin <kai@samba.org>2008-04-02 23:06:27 +0200
commit6ce078141326a41278bbb8c6854c4cacc7cefd99 (patch)
tree311460d8ed17637b26d3063ec73b50fece8e160b /source4/librpc
parent6ae76e5cdc0c87eb0ff46f3f1818be0cf70a5a75 (diff)
downloadsamba-6ce078141326a41278bbb8c6854c4cacc7cefd99.tar.gz
samba-6ce078141326a41278bbb8c6854c4cacc7cefd99.tar.bz2
samba-6ce078141326a41278bbb8c6854c4cacc7cefd99.zip
wbclient: Add an async winbind client library.
(This used to be commit 3e3563f2840e7cd795f5fc157003af3c932cb4d1)
Diffstat (limited to 'source4/librpc')
-rw-r--r--source4/librpc/idl/lsa.idl2
-rw-r--r--source4/librpc/idl/winbind.idl34
2 files changed, 33 insertions, 3 deletions
diff --git a/source4/librpc/idl/lsa.idl b/source4/librpc/idl/lsa.idl
index 6d15822ea6..e36e79f5c4 100644
--- a/source4/librpc/idl/lsa.idl
+++ b/source4/librpc/idl/lsa.idl
@@ -338,7 +338,7 @@ import "misc.idl", "security.idl";
/******************/
/* Function: 0x0e */
- typedef enum {
+ typedef [public] enum {
SID_NAME_USE_NONE = 0,/* NOTUSED */
SID_NAME_USER = 1, /* user */
SID_NAME_DOM_GRP = 2, /* domain group */
diff --git a/source4/librpc/idl/winbind.idl b/source4/librpc/idl/winbind.idl
index 29649c0ea7..5cefb38f75 100644
--- a/source4/librpc/idl/winbind.idl
+++ b/source4/librpc/idl/winbind.idl
@@ -3,8 +3,8 @@
*/
#include "idl_types.h"
-
-import "netlogon.idl";
+
+import "netlogon.idl", "lsa.idl", "security.idl";
[
uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"),
@@ -16,6 +16,24 @@ interface winbind
typedef [switch_type(uint16)] union netr_LogonLevel netr_LogonLevel;
typedef [switch_type(uint16)] union netr_Validation netr_Validation;
+ typedef enum {
+ ID_TYPE_NOT_SPECIFIED,
+ ID_TYPE_UID,
+ ID_TYPE_GID,
+ ID_TYPE_BOTH
+ } id_type;
+
+ typedef struct {
+ uint32 id;
+ id_type type;
+ } unixid;
+
+ typedef struct {
+ unixid *unixid;
+ dom_sid *sid;
+ NTSTATUS status;
+ } id_mapping;
+
/* a call to get runtime informations */
void winbind_information(/* TODO */);
@@ -35,4 +53,16 @@ interface winbind
[out] [switch_is(validation_level)] netr_Validation validation,
[out] uint8 authoritative
);
+
+ typedef [v1_enum] enum {
+ WINBIND_IDMAP_LEVEL_SIDS_TO_XIDS = 1,
+ WINBIND_IDMAP_LEVEL_XIDS_TO_SIDS = 2
+ } winbind_get_idmap_level;
+
+ NTSTATUS winbind_get_idmap(
+ [in] winbind_get_idmap_level level,
+ [in] uint32 count,
+ [in,out] [size_is(count)] id_mapping ids[]
+ );
+
}