--- /dev/null
+#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;
+}
output_dir='../gen_ndr')
bld.SAMBA_PIDL_LIST('PIDL',
- 'rap.idl',
+ 'rap.idl idmap.idl',
options='--header --ndr-parser',
output_dir='../gen_ndr')
#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"),
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 */);
)
+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'
)