rerun 'make idl'
authorStefan Metzmacher <metze@sernet.de>
Fri, 25 Jan 2008 13:17:37 +0000 (14:17 +0100)
committerStefan Metzmacher <metze@sernet.de>
Fri, 2 May 2008 14:13:19 +0000 (16:13 +0200)
metze

source/librpc/gen_ndr/ndr_winbind_protocol.c
source/librpc/gen_ndr/ndr_winbind_protocol.h
source/librpc/gen_ndr/winbind_protocol.h

index 962e5d09c577e259445105c9d1c84a13ad2d1bc6..a5f228153ea5cbcde27cab81841bde5cf82b8117 100644 (file)
@@ -145,10 +145,90 @@ _PUBLIC_ void ndr_print_winbind_lookup_level(struct ndr_print *ndr, const char *
        switch (r) {
                case WINBIND_LOOKUP_LEVEL_SID2NAME: val = "WINBIND_LOOKUP_LEVEL_SID2NAME"; break;
                case WINBIND_LOOKUP_LEVEL_NAME2SID: val = "WINBIND_LOOKUP_LEVEL_NAME2SID"; break;
+               case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: val = "WINBIND_LOOKUP_LEVEL_RIDS2NAMES"; break;
        }
        ndr_print_enum(ndr, name, "ENUM", val, r);
 }
 
+static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_req_rids(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_req_rids *r)
+{
+       uint32_t cntr_rids_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_unique_ptr(ndr, r->domain_sid));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids));
+               for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
+                       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0]));
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->domain_sid) {
+                       NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_req_rids(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_req_rids *r)
+{
+       uint32_t _ptr_domain_sid;
+       TALLOC_CTX *_mem_save_domain_sid_0;
+       uint32_t cntr_rids_0;
+       TALLOC_CTX *_mem_save_rids_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain_sid));
+               if (_ptr_domain_sid) {
+                       NDR_PULL_ALLOC(ndr, r->domain_sid);
+               } else {
+                       r->domain_sid = NULL;
+               }
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids));
+               NDR_PULL_ALLOC_N(ndr, r->rids, r->num_rids);
+               _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0);
+               for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) {
+                       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0]));
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0);
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               if (r->domain_sid) {
+                       _mem_save_domain_sid_0 = NDR_PULL_GET_MEM_CTX(ndr);
+                       NDR_PULL_SET_MEM_CTX(ndr, r->domain_sid, 0);
+                       NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->domain_sid));
+                       NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_sid_0, 0);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_STRUCT_winbind_lookup_req_rids(struct ndr_print *ndr, const char *name, const struct winbind_lookup_req_rids *r)
+{
+       uint32_t cntr_rids_0;
+       ndr_print_struct(ndr, name, "winbind_lookup_req_rids");
+       ndr->depth++;
+       ndr_print_ptr(ndr, "domain_sid", r->domain_sid);
+       ndr->depth++;
+       if (r->domain_sid) {
+               ndr_print_dom_sid(ndr, "domain_sid", r->domain_sid);
+       }
+       ndr->depth--;
+       ndr_print_uint32(ndr, "num_rids", r->num_rids);
+       ndr->print(ndr, "%s: ARRAY(%d)", "rids", r->num_rids);
+       ndr->depth++;
+       for (cntr_rids_0=0;cntr_rids_0<r->num_rids;cntr_rids_0++) {
+               char *idx_0=NULL;
+               asprintf(&idx_0, "[%d]", cntr_rids_0);
+               if (idx_0) {
+                       ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]);
+                       free(idx_0);
+               }
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_req *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -166,6 +246,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int n
                                NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->name, ndr_charset_length(r->name, CH_UTF8), sizeof(uint8_t), CH_UTF8));
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                               NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
+                       break;
+
                        default:
                        break;
 
@@ -183,6 +267,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int n
                        case WINBIND_LOOKUP_LEVEL_NAME2SID:
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                               NDR_CHECK(ndr_push_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
+                       break;
+
                        default:
                        break;
 
@@ -223,6 +311,10 @@ static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int n
                                NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->name, ndr_get_array_length(ndr, &r->name), sizeof(uint8_t), CH_UTF8));
                        break; }
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
+                               NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_SCALARS, &r->rids));
+                       break; }
+
                        default: {
                        break; }
 
@@ -242,6 +334,10 @@ static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int n
                        case WINBIND_LOOKUP_LEVEL_NAME2SID:
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                               NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_req_rids(ndr, NDR_BUFFERS, &r->rids));
+                       break;
+
                        default:
                        break;
 
@@ -269,6 +365,10 @@ _PUBLIC_ void ndr_print_winbind_lookup_req(struct ndr_print *ndr, const char *na
                        ndr_print_string(ndr, "name", r->name);
                break;
 
+               case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                       ndr_print_STRUCT_winbind_lookup_req_rids(ndr, "rids", &r->rids);
+               break;
+
                default:
                break;
 
@@ -383,6 +483,61 @@ _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_sid_info(struct ndr_print *ndr, co
        ndr->depth--;
 }
 
+static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_name_info_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_name_info_array *r)
+{
+       uint32_t cntr_names_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_push_align(ndr, 4));
+               NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_names));
+               for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
+                       NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_name_info_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_name_info_array *r)
+{
+       uint32_t cntr_names_0;
+       TALLOC_CTX *_mem_save_names_0;
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_align(ndr, 4));
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_names));
+               NDR_PULL_ALLOC_N(ndr, r->names, r->num_names);
+               _mem_save_names_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->names, 0);
+               for (cntr_names_0 = 0; cntr_names_0 < r->num_names; cntr_names_0++) {
+                       NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info(ndr, NDR_SCALARS, &r->names[cntr_names_0]));
+               }
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_names_0, 0);
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_STRUCT_winbind_lookup_name_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info_array *r)
+{
+       uint32_t cntr_names_0;
+       ndr_print_struct(ndr, name, "winbind_lookup_name_info_array");
+       ndr->depth++;
+       ndr_print_uint32(ndr, "num_names", r->num_names);
+       ndr->print(ndr, "%s: ARRAY(%d)", "names", r->num_names);
+       ndr->depth++;
+       for (cntr_names_0=0;cntr_names_0<r->num_names;cntr_names_0++) {
+               char *idx_0=NULL;
+               asprintf(&idx_0, "[%d]", cntr_names_0);
+               if (idx_0) {
+                       ndr_print_STRUCT_winbind_lookup_name_info(ndr, "names", &r->names[cntr_names_0]);
+                       free(idx_0);
+               }
+       }
+       ndr->depth--;
+       ndr->depth--;
+}
+
 static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_lookup_rep *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -397,6 +552,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int n
                                NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                               NDR_CHECK(ndr_push_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
+                       break;
+
                        default:
                        break;
 
@@ -412,6 +571,9 @@ static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int n
                                NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                       break;
+
                        default:
                        break;
 
@@ -439,6 +601,10 @@ static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int n
                                NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sid_info));
                        break; }
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: {
+                               NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_name_info_array(ndr, NDR_SCALARS, &r->name_array));
+                       break; }
+
                        default: {
                        break; }
 
@@ -453,6 +619,9 @@ static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int n
                                NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sid_info));
                        break;
 
+                       case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                       break;
+
                        default:
                        break;
 
@@ -475,6 +644,10 @@ _PUBLIC_ void ndr_print_winbind_lookup_rep(struct ndr_print *ndr, const char *na
                        ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sid_info", &r->sid_info);
                break;
 
+               case WINBIND_LOOKUP_LEVEL_RIDS2NAMES:
+                       ndr_print_STRUCT_winbind_lookup_name_info_array(ndr, "name_array", &r->name_array);
+               break;
+
                default:
                break;
 
index 92ce4da06327b0c78a7bbf06bfa56acb96b06506..1c04c4ff71b734790807df5281ba9fe13c9a9a09 100644 (file)
@@ -97,9 +97,11 @@ enum ndr_err_code ndr_push_STRUCT_winbind_header(struct ndr_push *ndr, int ndr_f
 enum ndr_err_code ndr_pull_STRUCT_winbind_header(struct ndr_pull *ndr, int ndr_flags, struct winbind_header *r);
 void ndr_print_STRUCT_winbind_header(struct ndr_print *ndr, const char *name, const struct winbind_header *r);
 void ndr_print_winbind_lookup_level(struct ndr_print *ndr, const char *name, enum winbind_lookup_level r);
+void ndr_print_STRUCT_winbind_lookup_req_rids(struct ndr_print *ndr, const char *name, const struct winbind_lookup_req_rids *r);
 void ndr_print_winbind_lookup_req(struct ndr_print *ndr, const char *name, const union winbind_lookup_req *r);
 void ndr_print_STRUCT_winbind_lookup_name_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info *r);
 void ndr_print_STRUCT_winbind_lookup_sid_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_info *r);
+void ndr_print_STRUCT_winbind_lookup_name_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_name_info_array *r);
 void ndr_print_winbind_lookup_rep(struct ndr_print *ndr, const char *name, const union winbind_lookup_rep *r);
 void ndr_print_winbind_get_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_get_idmap_level r);
 void ndr_print_winbind_get_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_req *r);
index f906922d34abc291ae50bcb82e774cc685517aa0..a286940e27c1a751d843b8724bb26ff1f19ba809 100644 (file)
@@ -43,14 +43,10 @@ enum winbind_status
 /* bitmap winbind_header_version */
 #define WINBIND_HEADER_VERSION ( 0x0001 )
 
-;
-
 /* bitmap winbind_header_flags */
 #define WINBIND_HEADER_FLAGS_RESPONSE ( 0x00000001 )
 #define WINBIND_HEADER_FLAGS_ERROR ( 0x00000002 )
 
-;
-
 struct winbind_header {
        uint32_t length;
        const char *magic;/* [value("WBPT"),charset(DOS)] */
@@ -63,18 +59,27 @@ enum winbind_lookup_level
 #ifndef USE_UINT_ENUMS
  {
        WINBIND_LOOKUP_LEVEL_SID2NAME=1,
-       WINBIND_LOOKUP_LEVEL_NAME2SID=2
+       WINBIND_LOOKUP_LEVEL_NAME2SID=2,
+       WINBIND_LOOKUP_LEVEL_RIDS2NAMES=3
 }
 #else
  { __donnot_use_enum_winbind_lookup_level=0x7FFFFFFF}
 #define WINBIND_LOOKUP_LEVEL_SID2NAME ( 1 )
 #define WINBIND_LOOKUP_LEVEL_NAME2SID ( 2 )
+#define WINBIND_LOOKUP_LEVEL_RIDS2NAMES ( 3 )
 #endif
 ;
 
+struct winbind_lookup_req_rids {
+       struct dom_sid *domain_sid;/* [unique] */
+       uint32_t num_rids;
+       uint32_t *rids;
+};
+
 union winbind_lookup_req {
        struct dom_sid *sid;/* [unique,case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
        const char *name;/* [charset(UTF8),case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
+       struct winbind_lookup_req_rids rids;/* [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)] */
 }/* [switch_type(winbind_lookup_level)] */;
 
 struct winbind_lookup_name_info {
@@ -88,9 +93,17 @@ struct winbind_lookup_sid_info {
        enum lsa_SidType type;
 };
 
+struct winbind_lookup_name_info_array {
+       uint32_t num_names;
+       struct winbind_lookup_name_info *names;
+};
+
+struct winbind_lookup_name_info;
+
 union winbind_lookup_rep {
        struct winbind_lookup_name_info name_info;/* [case(WINBIND_LOOKUP_LEVEL_SID2NAME)] */
        struct winbind_lookup_sid_info sid_info;/* [case(WINBIND_LOOKUP_LEVEL_NAME2SID)] */
+       struct winbind_lookup_name_info_array name_array;/* [case(WINBIND_LOOKUP_LEVEL_RIDS2NAMES)] */
 }/* [switch_type(winbind_lookup_level)] */;
 
 enum winbind_get_idmap_level