summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2010-05-24 10:15:04 +1000
committerAndrew Bartlett <abartlet@samba.org>2010-05-24 23:08:56 +1000
commit974ed9cf2c10ab3384c1070c22f5cd42908c95f1 (patch)
treece5725fd1fda68430d6742224920d46cfe7233c2
parentf6aa0902025dc562748499d60f3257a0f47329c8 (diff)
downloadsamba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.tar.gz
samba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.tar.bz2
samba-974ed9cf2c10ab3384c1070c22f5cd42908c95f1.zip
s4:idmap Seperate idmap structures from winbind.idl and match to source3/ idmap
These structures now match those in use in the source3 code. I'm not sure if this is the better API or not, but it is far, far safer to remove a pointer than to add one. Andrew Bartlett
-rw-r--r--librpc/idl/idmap.idl34
-rw-r--r--librpc/idl/wscript_build2
-rw-r--r--source4/librpc/idl/winbind.idl27
-rw-r--r--source4/librpc/wscript_build7
4 files changed, 42 insertions, 28 deletions
diff --git a/librpc/idl/idmap.idl b/librpc/idl/idmap.idl
new file mode 100644
index 0000000000..65e4596adf
--- /dev/null
+++ b/librpc/idl/idmap.idl
@@ -0,0 +1,34 @@
+#include "idl_types.h"
+
+import "security.idl";
+
+[
+ pointer_default(unique)
+]
+interface idmap
+{
+ typedef [public] enum {
+ ID_TYPE_NOT_SPECIFIED,
+ ID_TYPE_UID,
+ ID_TYPE_GID,
+ ID_TYPE_BOTH
+ } id_type;
+
+ typedef [public] struct {
+ uint32 id;
+ id_type type;
+ } unixid;
+
+ typedef[public] enum {
+ ID_UNKNOWN,
+ ID_MAPPED,
+ ID_UNMAPPED,
+ ID_EXPIRED
+ } id_mapping;
+
+ typedef [public] struct {
+ dom_sid *sid;
+ unixid xid;
+ id_mapping status;
+ } id_map;
+}
diff --git a/librpc/idl/wscript_build b/librpc/idl/wscript_build
index b8c650197c..c5be1b7447 100644
--- a/librpc/idl/wscript_build
+++ b/librpc/idl/wscript_build
@@ -20,6 +20,6 @@ bld.SAMBA_PIDL_LIST('PIDL',
output_dir='../gen_ndr')
bld.SAMBA_PIDL_LIST('PIDL',
- 'rap.idl',
+ 'rap.idl idmap.idl',
options='--header --ndr-parser',
output_dir='../gen_ndr')
diff --git a/source4/librpc/idl/winbind.idl b/source4/librpc/idl/winbind.idl
index 73e725bb98..849b8166a7 100644
--- a/source4/librpc/idl/winbind.idl
+++ b/source4/librpc/idl/winbind.idl
@@ -4,7 +4,7 @@
#include "idl_types.h"
-import "netlogon.idl", "lsa.idl", "security.idl";
+import "netlogon.idl", "lsa.idl", "security.idl", "idmap.idl";
[
uuid("245f3e6b-3c5d-6e21-3a2d-2a3d645b7221"),
@@ -16,31 +16,6 @@ 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 enum {
- ID_UNKNOWN,
- ID_MAPPED,
- ID_UNMAPPED,
- ID_EXPIRED
- } id_mapping;
-
- typedef struct {
- unixid *unixid;
- dom_sid *sid;
- id_mapping status;
- } id_map;
-
/* a call to get runtime informations */
void winbind_information(/* TODO */);
diff --git a/source4/librpc/wscript_build b/source4/librpc/wscript_build
index ab80c09e66..5e5c5f5b04 100644
--- a/source4/librpc/wscript_build
+++ b/source4/librpc/wscript_build
@@ -319,9 +319,14 @@ bld.SAMBA_SUBSYSTEM('NDR_WINSREPL',
)
+bld.SAMBA_SUBSYSTEM('NDR_IDMAP',
+ source='../../librpc/gen_ndr/ndr_idmap.c',
+ public_deps='LIBNDR NDR_STANDARD'
+ )
+
bld.SAMBA_SUBSYSTEM('NDR_WINBIND',
source='gen_ndr/ndr_winbind.c',
- public_deps='LIBNDR NDR_STANDARD'
+ public_deps='NDR_IDMAP LIBNDR NDR_STANDARD'
)