diff options
-rw-r--r-- | librpc/idl/idmap.idl | 34 | ||||
-rw-r--r-- | librpc/idl/wscript_build | 2 | ||||
-rw-r--r-- | source4/librpc/idl/winbind.idl | 27 | ||||
-rw-r--r-- | source4/librpc/wscript_build | 7 |
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' ) |