rerun 'make idl'
authorStefan Metzmacher <metze@sernet.de>
Wed, 12 Dec 2007 17:10:31 +0000 (18:10 +0100)
committerStefan Metzmacher <metze@sernet.de>
Fri, 2 May 2008 14:12:43 +0000 (16:12 +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 ae01a25cc291439679ea7f8c2f685dc8de6d3660..562dbf1e7ab5e85821365961972ae0a42d27257b 100644 (file)
@@ -486,6 +486,279 @@ _PUBLIC_ void ndr_print_winbind_get_idmap_rep(struct ndr_print *ndr, const char
        }
 }
 
+static enum ndr_err_code ndr_push_winbind_set_idmap_level(struct ndr_push *ndr, int ndr_flags, enum winbind_set_idmap_level r)
+{
+       NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_set_idmap_level(struct ndr_pull *ndr, int ndr_flags, enum winbind_set_idmap_level *r)
+{
+       uint32_t v;
+       NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
+       *r = v;
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_set_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_set_idmap_level r)
+{
+       const char *val = NULL;
+
+       switch (r) {
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID"; break;
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: val = "WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID"; break;
+               case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: val = "WINBIND_SET_IDMAP_LEVEL_SET_MAPPING"; break;
+               case WINBIND_SET_IDMAP_LEVEL_SET_HWM: val = "WINBIND_SET_IDMAP_LEVEL_SET_HWM"; break;
+       }
+       ndr_print_enum(ndr, name, "ENUM", val, r);
+}
+
+static enum ndr_err_code ndr_push_winbind_set_idmap_req(struct ndr_push *ndr, int ndr_flags, const union winbind_set_idmap_req *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                               NDR_CHECK(ndr_push_id_map(ndr, NDR_SCALARS, &r->mapping));
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                               NDR_CHECK(ndr_push_unixid(ndr, NDR_SCALARS, &r->hwm));
+                       break;
+
+                       default:
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                               NDR_CHECK(ndr_push_id_map(ndr, NDR_BUFFERS, &r->mapping));
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                               NDR_CHECK(ndr_push_unixid(ndr, NDR_BUFFERS, &r->hwm));
+                       break;
+
+                       default:
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_set_idmap_req(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_req *r)
+{
+       int level;
+       uint32_t _level;
+       level = ndr_pull_get_switch_value(ndr, r);
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+               if (_level != level) {
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+               }
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
+                               NDR_CHECK(ndr_pull_id_map(ndr, NDR_SCALARS, &r->mapping));
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
+                               NDR_CHECK(ndr_pull_unixid(ndr, NDR_SCALARS, &r->hwm));
+                       break; }
+
+                       default:
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                               NDR_CHECK(ndr_pull_id_map(ndr, NDR_BUFFERS, &r->mapping));
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                               NDR_CHECK(ndr_pull_unixid(ndr, NDR_BUFFERS, &r->hwm));
+                       break;
+
+                       default:
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_set_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_req *r)
+{
+       int level;
+       level = ndr_print_get_switch_value(ndr, r);
+       ndr_print_union(ndr, name, level, "winbind_set_idmap_req");
+       switch (level) {
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                       ndr_print_id_map(ndr, "mapping", &r->mapping);
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                       ndr_print_unixid(ndr, "hwm", &r->hwm);
+               break;
+
+               default:
+                       ndr_print_bad_level(ndr, name, level);
+       }
+}
+
+static enum ndr_err_code ndr_push_winbind_set_idmap_rep(struct ndr_push *ndr, int ndr_flags, const union winbind_set_idmap_rep *r)
+{
+       if (ndr_flags & NDR_SCALARS) {
+               int level = ndr_push_get_switch_value(ndr, r);
+               NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, level));
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->uid));
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                               NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->gid));
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                       break;
+
+                       default:
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               int level = ndr_push_get_switch_value(ndr, r);
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                       break;
+
+                       default:
+                               return ndr_push_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_winbind_set_idmap_rep(struct ndr_pull *ndr, int ndr_flags, union winbind_set_idmap_rep *r)
+{
+       int level;
+       uint32_t _level;
+       level = ndr_pull_get_switch_value(ndr, r);
+       if (ndr_flags & NDR_SCALARS) {
+               NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &_level));
+               if (_level != level) {
+                       return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r", _level);
+               }
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID: {
+                               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->uid));
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID: {
+                               NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->gid));
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING: {
+                       break; }
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM: {
+                       break; }
+
+                       default:
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       if (ndr_flags & NDR_BUFFERS) {
+               switch (level) {
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+                       break;
+
+                       case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+                       break;
+
+                       default:
+                               return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u", level);
+               }
+       }
+       return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_winbind_set_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_rep *r)
+{
+       int level;
+       level = ndr_print_get_switch_value(ndr, r);
+       ndr_print_union(ndr, name, level, "winbind_set_idmap_rep");
+       switch (level) {
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID:
+                       ndr_print_hyper(ndr, "uid", r->uid);
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID:
+                       ndr_print_hyper(ndr, "gid", r->gid);
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_SET_MAPPING:
+               break;
+
+               case WINBIND_SET_IDMAP_LEVEL_SET_HWM:
+               break;
+
+               default:
+                       ndr_print_bad_level(ndr, name, level);
+       }
+}
+
 static enum ndr_err_code ndr_push_STRUCT_winbind_domain_info_compat(struct ndr_push *ndr, int ndr_flags, const struct winbind_domain_info_compat *r)
 {
        if (ndr_flags & NDR_SCALARS) {
@@ -2035,164 +2308,103 @@ _PUBLIC_ void ndr_print_winbind_get_idmap(struct ndr_print *ndr, const char *nam
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_winbind_allocate_uid(struct ndr_push *ndr, int flags, const struct winbind_allocate_uid *r)
+static enum ndr_err_code ndr_push_winbind_set_idmap(struct ndr_push *ndr, int flags, const struct winbind_set_idmap *r)
 {
        if (flags & NDR_IN) {
+               if (r->in.level == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->in.level));
+               NDR_CHECK(ndr_push_set_switch_value(ndr, &r->in.req, *r->in.level));
+               NDR_CHECK(ndr_push_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
        }
        if (flags & NDR_OUT) {
+               if (r->out.level == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_winbind_set_idmap_level(ndr, NDR_SCALARS, *r->out.level));
+               if (r->out.rep == NULL) {
+                       return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+               }
+               NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.rep, *r->out.level));
+               NDR_CHECK(ndr_push_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
                NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
        }
        return NDR_ERR_SUCCESS;
 }
 
-static enum ndr_err_code ndr_pull_winbind_allocate_uid(struct ndr_pull *ndr, int flags, struct winbind_allocate_uid *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_winbind_allocate_uid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_allocate_uid *r)
-{
-       ndr_print_struct(ndr, name, "winbind_allocate_uid");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_allocate_uid");
-               ndr->depth++;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_allocate_uid");
-               ndr->depth++;
-               ndr_print_winbind_status(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_winbind_allocate_gid(struct ndr_push *ndr, int flags, const struct winbind_allocate_gid *r)
+static enum ndr_err_code ndr_pull_winbind_set_idmap(struct ndr_pull *ndr, int flags, struct winbind_set_idmap *r)
 {
+       TALLOC_CTX *_mem_save_level_0;
+       TALLOC_CTX *_mem_save_rep_0;
        if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
+               ZERO_STRUCT(r->out);
 
-static enum ndr_err_code ndr_pull_winbind_allocate_gid(struct ndr_pull *ndr, int flags, struct winbind_allocate_gid *r)
-{
-       if (flags & NDR_IN) {
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->in.level);
+               }
+               _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->in.level, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->in.level));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->in.req, *r->in.level));
+               NDR_CHECK(ndr_pull_winbind_set_idmap_req(ndr, NDR_SCALARS|NDR_BUFFERS, &r->in.req));
+               NDR_PULL_ALLOC(ndr, r->out.level);
+               *r->out.level = *r->in.level;
+               NDR_PULL_ALLOC(ndr, r->out.rep);
+               ZERO_STRUCTP(r->out.rep);
        }
        if (flags & NDR_OUT) {
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->out.level);
+               }
+               _mem_save_level_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->out.level, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_winbind_set_idmap_level(ndr, NDR_SCALARS, r->out.level));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_level_0, LIBNDR_FLAG_REF_ALLOC);
+               if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+                       NDR_PULL_ALLOC(ndr, r->out.rep);
+               }
+               _mem_save_rep_0 = NDR_PULL_GET_MEM_CTX(ndr);
+               NDR_PULL_SET_MEM_CTX(ndr, r->out.rep, LIBNDR_FLAG_REF_ALLOC);
+               NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.rep, *r->out.level));
+               NDR_CHECK(ndr_pull_winbind_set_idmap_rep(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.rep));
+               NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rep_0, LIBNDR_FLAG_REF_ALLOC);
                NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
        }
        return NDR_ERR_SUCCESS;
 }
 
-_PUBLIC_ void ndr_print_winbind_allocate_gid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_allocate_gid *r)
+_PUBLIC_ void ndr_print_winbind_set_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_idmap *r)
 {
-       ndr_print_struct(ndr, name, "winbind_allocate_gid");
+       ndr_print_struct(ndr, name, "winbind_set_idmap");
        ndr->depth++;
        if (flags & NDR_SET_VALUES) {
                ndr->flags |= LIBNDR_PRINT_SET_VALUES;
        }
        if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_allocate_gid");
+               ndr_print_struct(ndr, "in", "winbind_set_idmap");
                ndr->depth++;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_allocate_gid");
+               ndr_print_ptr(ndr, "level", r->in.level);
                ndr->depth++;
-               ndr_print_winbind_status(ndr, "result", r->out.result);
+               ndr_print_winbind_set_idmap_level(ndr, "level", *r->in.level);
                ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_winbind_set_mapping(struct ndr_push *ndr, int flags, const struct winbind_set_mapping *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_winbind_set_mapping(struct ndr_pull *ndr, int flags, struct winbind_set_mapping *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_winbind_set_mapping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_mapping *r)
-{
-       ndr_print_struct(ndr, name, "winbind_set_mapping");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_set_mapping");
-               ndr->depth++;
+               ndr_print_set_switch_value(ndr, &r->in.req, *r->in.level);
+               ndr_print_winbind_set_idmap_req(ndr, "req", &r->in.req);
                ndr->depth--;
        }
        if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_set_mapping");
+               ndr_print_struct(ndr, "out", "winbind_set_idmap");
                ndr->depth++;
-               ndr_print_winbind_status(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_winbind_set_hwm(struct ndr_push *ndr, int flags, const struct winbind_set_hwm *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_winbind_set_hwm(struct ndr_pull *ndr, int flags, struct winbind_set_hwm *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_winbind_set_hwm(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_hwm *r)
-{
-       ndr_print_struct(ndr, name, "winbind_set_hwm");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_set_hwm");
+               ndr_print_ptr(ndr, "level", r->out.level);
                ndr->depth++;
+               ndr_print_winbind_set_idmap_level(ndr, "level", *r->out.level);
                ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_set_hwm");
+               ndr_print_ptr(ndr, "rep", r->out.rep);
                ndr->depth++;
+               ndr_print_set_switch_value(ndr, r->out.rep, *r->out.level);
+               ndr_print_winbind_set_idmap_rep(ndr, "rep", r->out.rep);
+               ndr->depth--;
                ndr_print_winbind_status(ndr, "result", r->out.result);
                ndr->depth--;
        }
@@ -2866,88 +3078,6 @@ _PUBLIC_ void ndr_print_winbind_getuserdomgroups(struct ndr_print *ndr, const ch
        ndr->depth--;
 }
 
-static enum ndr_err_code ndr_push_winbind_dual_set_mapping(struct ndr_push *ndr, int flags, const struct winbind_dual_set_mapping *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_winbind_dual_set_mapping(struct ndr_pull *ndr, int flags, struct winbind_dual_set_mapping *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_winbind_dual_set_mapping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_set_mapping *r)
-{
-       ndr_print_struct(ndr, name, "winbind_dual_set_mapping");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_dual_set_mapping");
-               ndr->depth++;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_dual_set_mapping");
-               ndr->depth++;
-               ndr_print_winbind_status(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
-static enum ndr_err_code ndr_push_winbind_dual_set_hwm(struct ndr_push *ndr, int flags, const struct winbind_dual_set_hwm *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_push_winbind_status(ndr, NDR_SCALARS, r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-static enum ndr_err_code ndr_pull_winbind_dual_set_hwm(struct ndr_pull *ndr, int flags, struct winbind_dual_set_hwm *r)
-{
-       if (flags & NDR_IN) {
-       }
-       if (flags & NDR_OUT) {
-               NDR_CHECK(ndr_pull_winbind_status(ndr, NDR_SCALARS, &r->out.result));
-       }
-       return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_winbind_dual_set_hwm(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_set_hwm *r)
-{
-       ndr_print_struct(ndr, name, "winbind_dual_set_hwm");
-       ndr->depth++;
-       if (flags & NDR_SET_VALUES) {
-               ndr->flags |= LIBNDR_PRINT_SET_VALUES;
-       }
-       if (flags & NDR_IN) {
-               ndr_print_struct(ndr, "in", "winbind_dual_set_hwm");
-               ndr->depth++;
-               ndr->depth--;
-       }
-       if (flags & NDR_OUT) {
-               ndr_print_struct(ndr, "out", "winbind_dual_set_hwm");
-               ndr->depth++;
-               ndr_print_winbind_status(ndr, "result", r->out.result);
-               ndr->depth--;
-       }
-       ndr->depth--;
-}
-
 static enum ndr_err_code ndr_push_winbind_dual_userinfo(struct ndr_push *ndr, int flags, const struct winbind_dual_userinfo *r)
 {
        if (flags & NDR_IN) {
@@ -3273,35 +3403,11 @@ static const struct ndr_interface_call winbind_protocol_calls[] = {
                false,
        },
        {
-               "winbind_allocate_uid",
-               sizeof(struct winbind_allocate_uid),
-               (ndr_push_flags_fn_t) ndr_push_winbind_allocate_uid,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_allocate_uid,
-               (ndr_print_function_t) ndr_print_winbind_allocate_uid,
-               false,
-       },
-       {
-               "winbind_allocate_gid",
-               sizeof(struct winbind_allocate_gid),
-               (ndr_push_flags_fn_t) ndr_push_winbind_allocate_gid,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_allocate_gid,
-               (ndr_print_function_t) ndr_print_winbind_allocate_gid,
-               false,
-       },
-       {
-               "winbind_set_mapping",
-               sizeof(struct winbind_set_mapping),
-               (ndr_push_flags_fn_t) ndr_push_winbind_set_mapping,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_set_mapping,
-               (ndr_print_function_t) ndr_print_winbind_set_mapping,
-               false,
-       },
-       {
-               "winbind_set_hwm",
-               sizeof(struct winbind_set_hwm),
-               (ndr_push_flags_fn_t) ndr_push_winbind_set_hwm,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_set_hwm,
-               (ndr_print_function_t) ndr_print_winbind_set_hwm,
+               "winbind_set_idmap",
+               sizeof(struct winbind_set_idmap),
+               (ndr_push_flags_fn_t) ndr_push_winbind_set_idmap,
+               (ndr_pull_flags_fn_t) ndr_pull_winbind_set_idmap,
+               (ndr_print_function_t) ndr_print_winbind_set_idmap,
                false,
        },
        {
@@ -3400,22 +3506,6 @@ static const struct ndr_interface_call winbind_protocol_calls[] = {
                (ndr_print_function_t) ndr_print_winbind_getuserdomgroups,
                false,
        },
-       {
-               "winbind_dual_set_mapping",
-               sizeof(struct winbind_dual_set_mapping),
-               (ndr_push_flags_fn_t) ndr_push_winbind_dual_set_mapping,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_set_mapping,
-               (ndr_print_function_t) ndr_print_winbind_dual_set_mapping,
-               false,
-       },
-       {
-               "winbind_dual_set_hwm",
-               sizeof(struct winbind_dual_set_hwm),
-               (ndr_push_flags_fn_t) ndr_push_winbind_dual_set_hwm,
-               (ndr_pull_flags_fn_t) ndr_pull_winbind_dual_set_hwm,
-               (ndr_print_function_t) ndr_print_winbind_dual_set_hwm,
-               false,
-       },
        {
                "winbind_dual_userinfo",
                sizeof(struct winbind_dual_userinfo),
@@ -3469,7 +3559,7 @@ const struct ndr_interface_table ndr_table_winbind_protocol = {
                NDR_WINBIND_PROTOCOL_VERSION
        },
        .helpstring     = NDR_WINBIND_PROTOCOL_HELPSTRING,
-       .num_calls      = 46,
+       .num_calls      = 41,
        .calls          = winbind_protocol_calls,
        .endpoints      = &winbind_protocol_endpoints,
        .authservices   = &winbind_protocol_authservices
index 21bb0b13fce74c15034b824f5bacf0bc9481fb1b..6c7c966678d8ca292ca8515424927d4307124957 100644 (file)
@@ -61,49 +61,39 @@ extern const struct ndr_interface_table ndr_table_winbind_protocol;
 
 #define NDR_WINBIND_GET_IDMAP (0x18)
 
-#define NDR_WINBIND_ALLOCATE_UID (0x19)
+#define NDR_WINBIND_SET_IDMAP (0x19)
 
-#define NDR_WINBIND_ALLOCATE_GID (0x1a)
+#define NDR_WINBIND_CHECK_MACHCC (0x1a)
 
-#define NDR_WINBIND_SET_MAPPING (0x1b)
+#define NDR_WINBIND_INFO_FIXNAME (0x1b)
 
-#define NDR_WINBIND_SET_HWM (0x1c)
+#define NDR_WINBIND_DOMAIN_NAME (0x1c)
 
-#define NDR_WINBIND_CHECK_MACHCC (0x1d)
+#define NDR_WINBIND_GET_DOMAIN_INFO (0x1d)
 
-#define NDR_WINBIND_INFO_FIXNAME (0x1e)
+#define NDR_WINBIND_GET_DC_INFO (0x1e)
 
-#define NDR_WINBIND_DOMAIN_NAME (0x1f)
+#define NDR_WINBIND_SHOW_SEQUENCE (0x1f)
 
-#define NDR_WINBIND_GET_DOMAIN_INFO (0x20)
+#define NDR_WINBIND_WINS_BYIP (0x20)
 
-#define NDR_WINBIND_GET_DC_INFO (0x21)
+#define NDR_WINBIND_WINS_BYNAME (0x21)
 
-#define NDR_WINBIND_SHOW_SEQUENCE (0x22)
+#define NDR_WINBIND_GETGRLIST (0x22)
 
-#define NDR_WINBIND_WINS_BYIP (0x23)
+#define NDR_WINBIND_NETBIOS_NAME (0x23)
 
-#define NDR_WINBIND_WINS_BYNAME (0x24)
+#define NDR_WINBIND_GETUSERSIDS (0x24)
 
-#define NDR_WINBIND_GETGRLIST (0x25)
+#define NDR_WINBIND_GETUSERDOMGROUPS (0x25)
 
-#define NDR_WINBIND_NETBIOS_NAME (0x26)
+#define NDR_WINBIND_DUAL_USERINFO (0x26)
 
-#define NDR_WINBIND_GETUSERSIDS (0x27)
+#define NDR_WINBIND_DUAL_GETSIDALIASES (0x27)
 
-#define NDR_WINBIND_GETUSERDOMGROUPS (0x28)
+#define NDR_WINBIND_CCACHE_NTLMAUTH (0x28)
 
-#define NDR_WINBIND_DUAL_SET_MAPPING (0x29)
-
-#define NDR_WINBIND_DUAL_SET_HWM (0x2a)
-
-#define NDR_WINBIND_DUAL_USERINFO (0x2b)
-
-#define NDR_WINBIND_DUAL_GETSIDALIASES (0x2c)
-
-#define NDR_WINBIND_CCACHE_NTLMAUTH (0x2d)
-
-#define NDR_WINBIND_PROTOCOL_CALL_COUNT (46)
+#define NDR_WINBIND_PROTOCOL_CALL_COUNT (41)
 enum ndr_err_code ndr_push_winbind_status(struct ndr_push *ndr, int ndr_flags, enum winbind_status r);
 enum ndr_err_code ndr_pull_winbind_status(struct ndr_pull *ndr, int ndr_flags, enum winbind_status *r);
 void ndr_print_winbind_status(struct ndr_print *ndr, const char *name, enum winbind_status r);
@@ -115,6 +105,9 @@ void ndr_print_STRUCT_winbind_header(struct ndr_print *ndr, const char *name, co
 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);
 void ndr_print_winbind_get_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_get_idmap_rep *r);
+void ndr_print_winbind_set_idmap_level(struct ndr_print *ndr, const char *name, enum winbind_set_idmap_level r);
+void ndr_print_winbind_set_idmap_req(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_req *r);
+void ndr_print_winbind_set_idmap_rep(struct ndr_print *ndr, const char *name, const union winbind_set_idmap_rep *r);
 void ndr_print_STRUCT_winbind_domain_info_compat(struct ndr_print *ndr, const char *name, const struct winbind_domain_info_compat *r);
 void ndr_print_winbind_domain_info_level(struct ndr_print *ndr, const char *name, enum winbind_domain_info_level r);
 void ndr_print_winbind_domain_info(struct ndr_print *ndr, const char *name, const union winbind_domain_info *r);
@@ -146,10 +139,7 @@ void ndr_print_winbind_lookup_sid(struct ndr_print *ndr, const char *name, int f
 void ndr_print_winbind_lookup_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_lookup_name *r);
 void ndr_print_winbind_lookup_rids(struct ndr_print *ndr, const char *name, int flags, const struct winbind_lookup_rids *r);
 void ndr_print_winbind_get_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_get_idmap *r);
-void ndr_print_winbind_allocate_uid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_allocate_uid *r);
-void ndr_print_winbind_allocate_gid(struct ndr_print *ndr, const char *name, int flags, const struct winbind_allocate_gid *r);
-void ndr_print_winbind_set_mapping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_mapping *r);
-void ndr_print_winbind_set_hwm(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_hwm *r);
+void ndr_print_winbind_set_idmap(struct ndr_print *ndr, const char *name, int flags, const struct winbind_set_idmap *r);
 void ndr_print_winbind_check_machcc(struct ndr_print *ndr, const char *name, int flags, const struct winbind_check_machcc *r);
 void ndr_print_winbind_info_fixname(struct ndr_print *ndr, const char *name, int flags, const struct winbind_info_fixname *r);
 void ndr_print_winbind_domain_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_domain_name *r);
@@ -162,8 +152,6 @@ void ndr_print_winbind_getgrlist(struct ndr_print *ndr, const char *name, int fl
 void ndr_print_winbind_netbios_name(struct ndr_print *ndr, const char *name, int flags, const struct winbind_netbios_name *r);
 void ndr_print_winbind_getusersids(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getusersids *r);
 void ndr_print_winbind_getuserdomgroups(struct ndr_print *ndr, const char *name, int flags, const struct winbind_getuserdomgroups *r);
-void ndr_print_winbind_dual_set_mapping(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_set_mapping *r);
-void ndr_print_winbind_dual_set_hwm(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_set_hwm *r);
 void ndr_print_winbind_dual_userinfo(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_userinfo *r);
 void ndr_print_winbind_dual_getsidaliases(struct ndr_print *ndr, const char *name, int flags, const struct winbind_dual_getsidaliases *r);
 void ndr_print_winbind_ccache_ntlmauth(struct ndr_print *ndr, const char *name, int flags, const struct winbind_ccache_ntlmauth *r);
index 42fd363a61dbf1eae68a0ace82f7de6e22c3d504..a3d3ec66252968478b3c01791c5b5133bc20328b 100644 (file)
@@ -83,6 +83,32 @@ union winbind_get_idmap_rep {
        struct dom_sid *sid;/* [unique,case(WINBIND_IDMAP_LEVEL_UID_TO_SID)] */
 }/* [switch_type(winbind_get_idmap_level)] */;
 
+#ifndef USE_UINT_ENUMS
+enum winbind_set_idmap_level {
+       WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID=1,
+       WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID=2,
+       WINBIND_SET_IDMAP_LEVEL_SET_MAPPING=3,
+       WINBIND_SET_IDMAP_LEVEL_SET_HWM=4
+}
+#else
+enum winbind_set_idmap_level { __donnot_use_enum_winbind_set_idmap_level=0x7FFFFFFF}
+#define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID ( 1 )
+#define WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID ( 2 )
+#define WINBIND_SET_IDMAP_LEVEL_SET_MAPPING ( 3 )
+#define WINBIND_SET_IDMAP_LEVEL_SET_HWM ( 4 )
+#endif
+;
+
+union winbind_set_idmap_req {
+       struct id_map mapping;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_MAPPING)] */
+       struct unixid hwm;/* [case(WINBIND_SET_IDMAP_LEVEL_SET_HWM)] */
+}/* [switch_type(winbind_set_idmap_level)] */;
+
+union winbind_set_idmap_rep {
+       uint64_t uid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_UID)] */
+       uint64_t gid;/* [case(WINBIND_SET_IDMAP_LEVEL_ALLOCATE_GID)] */
+}/* [switch_type(winbind_set_idmap_level)] */;
+
 struct winbind_domain_info_compat {
        const char *netbios_name;/* [charset(UTF8)] */
        const char *dns_name;/* [unique,charset(UTF8)] */
@@ -334,32 +360,15 @@ struct winbind_get_idmap {
 };
 
 
-struct winbind_allocate_uid {
-       struct {
-               enum winbind_status result;
-       } out;
-
-};
-
-
-struct winbind_allocate_gid {
-       struct {
-               enum winbind_status result;
-       } out;
-
-};
-
-
-struct winbind_set_mapping {
+struct winbind_set_idmap {
        struct {
-               enum winbind_status result;
-       } out;
-
-};
-
+               union winbind_set_idmap_req req;/* [switch_is(*level)] */
+               enum winbind_set_idmap_level *level;/* [ref] */
+       } in;
 
-struct winbind_set_hwm {
        struct {
+               union winbind_set_idmap_rep *rep;/* [ref,switch_is(*level)] */
+               enum winbind_set_idmap_level *level;/* [ref] */
                enum winbind_status result;
        } out;
 
@@ -478,22 +487,6 @@ struct winbind_getuserdomgroups {
 };
 
 
-struct winbind_dual_set_mapping {
-       struct {
-               enum winbind_status result;
-       } out;
-
-};
-
-
-struct winbind_dual_set_hwm {
-       struct {
-               enum winbind_status result;
-       } out;
-
-};
-
-
 struct winbind_dual_userinfo {
        struct {
                enum winbind_status result;