From: Stefan Metzmacher Date: Tue, 11 Mar 2008 08:00:22 +0000 (+0100) Subject: rerun 'make idl' X-Git-Url: http://git.samba.org/?p=metze%2Fsamba%2Fwb-ndr.git;a=commitdiff_plain;h=5fc6f42c08460ba0cf5735b53df8a0aaf7763357 rerun 'make idl' metze --- diff --git a/source/librpc/gen_ndr/ndr_winbind_protocol.c b/source/librpc/gen_ndr/ndr_winbind_protocol.c index b2802dc8d2d..f9771f20f51 100644 --- a/source/librpc/gen_ndr/ndr_winbind_protocol.c +++ b/source/librpc/gen_ndr/ndr_winbind_protocol.c @@ -522,6 +522,7 @@ _PUBLIC_ void ndr_print_winbind_lookup_level(struct ndr_print *ndr, const char * case WINBIND_LOOKUP_LEVEL_NAME2SID: val = "WINBIND_LOOKUP_LEVEL_NAME2SID"; break; case WINBIND_LOOKUP_LEVEL_RIDS2NAMES: val = "WINBIND_LOOKUP_LEVEL_RIDS2NAMES"; break; case WINBIND_LOOKUP_LEVEL_SID2USERINFO: val = "WINBIND_LOOKUP_LEVEL_SID2USERINFO"; break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: val = "WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS"; break; } ndr_print_enum(ndr, name, "ENUM", val, r); } @@ -629,6 +630,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int n NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); break; } + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: { + NDR_CHECK(ndr_push_unique_ptr(ndr, r->sid)); + break; } + default: { break; } @@ -656,6 +661,12 @@ static enum ndr_err_code ndr_push_winbind_lookup_req(struct ndr_push *ndr, int n } break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + if (r->sid) { + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); + } + break; + default: break; @@ -710,6 +721,16 @@ static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int n } break; } + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: { + uint32_t _ptr_sid; + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sid)); + if (_ptr_sid) { + NDR_PULL_ALLOC(ndr, r->sid); + } else { + r->sid = NULL; + } + break; } + default: { break; } @@ -742,6 +763,15 @@ static enum ndr_err_code ndr_pull_winbind_lookup_req(struct ndr_pull *ndr, int n } break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + if (r->sid) { + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->sid, 0); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS|NDR_BUFFERS, r->sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, 0); + } + break; + default: break; @@ -782,6 +812,15 @@ _PUBLIC_ void ndr_print_winbind_lookup_req(struct ndr_print *ndr, const char *na ndr->depth--; break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + ndr_print_ptr(ndr, "sid", r->sid); + ndr->depth++; + if (r->sid) { + ndr_print_dom_sid(ndr, "sid", r->sid); + } + ndr->depth--; + break; + default: break; @@ -1031,6 +1070,69 @@ _PUBLIC_ void ndr_print_STRUCT_winbind_lookup_user_info(struct ndr_print *ndr, c ndr->depth--; } +static enum ndr_err_code ndr_push_STRUCT_winbind_lookup_sid_info_array(struct ndr_push *ndr, int ndr_flags, const struct winbind_lookup_sid_info_array *r) +{ + uint32_t cntr_sids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_push_align(ndr, 4)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0])); + } + } + if (ndr_flags & NDR_BUFFERS) { + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0])); + } + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_STRUCT_winbind_lookup_sid_info_array(struct ndr_pull *ndr, int ndr_flags, struct winbind_lookup_sid_info_array *r) +{ + uint32_t cntr_sids_0; + TALLOC_CTX *_mem_save_sids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_pull_align(ndr, 4)); + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids)); + NDR_PULL_ALLOC_N(ndr, r->sids, r->num_sids); + _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_SCALARS, &r->sids[cntr_sids_0])); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); + } + if (ndr_flags & NDR_BUFFERS) { + _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info(ndr, NDR_BUFFERS, &r->sids[cntr_sids_0])); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_STRUCT_winbind_lookup_sid_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_info_array *r) +{ + uint32_t cntr_sids_0; + ndr_print_struct(ndr, name, "winbind_lookup_sid_info_array"); + ndr->depth++; + ndr_print_uint32(ndr, "num_sids", r->num_sids); + ndr->print(ndr, "%s: ARRAY(%d)", "sids", r->num_sids); + ndr->depth++; + for (cntr_sids_0=0;cntr_sids_0num_sids;cntr_sids_0++) { + char *idx_0=NULL; + if (asprintf(&idx_0, "[%d]", cntr_sids_0) != -1) { + ndr_print_STRUCT_winbind_lookup_sid_info(ndr, "sids", &r->sids[cntr_sids_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) { @@ -1053,6 +1155,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int n NDR_CHECK(ndr_push_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info)); break; } + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: { + NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array)); + break; } + default: { break; } @@ -1074,6 +1180,10 @@ static enum ndr_err_code ndr_push_winbind_lookup_rep(struct ndr_push *ndr, int n case WINBIND_LOOKUP_LEVEL_SID2USERINFO: break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + NDR_CHECK(ndr_push_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array)); + break; + default: break; @@ -1109,6 +1219,10 @@ static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int n NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_user_info(ndr, NDR_SCALARS, &r->user_info)); break; } + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: { + NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_SCALARS, &r->sid_array)); + break; } + default: { break; } @@ -1129,6 +1243,10 @@ static enum ndr_err_code ndr_pull_winbind_lookup_rep(struct ndr_pull *ndr, int n case WINBIND_LOOKUP_LEVEL_SID2USERINFO: break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + NDR_CHECK(ndr_pull_STRUCT_winbind_lookup_sid_info_array(ndr, NDR_BUFFERS, &r->sid_array)); + break; + default: break; @@ -1159,6 +1277,10 @@ _PUBLIC_ void ndr_print_winbind_lookup_rep(struct ndr_print *ndr, const char *na ndr_print_STRUCT_winbind_lookup_user_info(ndr, "user_info", &r->user_info); break; + case WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS: + ndr_print_STRUCT_winbind_lookup_sid_info_array(ndr, "sid_array", &r->sid_array); + break; + default: break; diff --git a/source/librpc/gen_ndr/ndr_winbind_protocol.h b/source/librpc/gen_ndr/ndr_winbind_protocol.h index 87809497dd1..92bc449d447 100644 --- a/source/librpc/gen_ndr/ndr_winbind_protocol.h +++ b/source/librpc/gen_ndr/ndr_winbind_protocol.h @@ -106,6 +106,7 @@ void ndr_print_STRUCT_winbind_lookup_name_info(struct ndr_print *ndr, const char 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_STRUCT_winbind_lookup_user_info(struct ndr_print *ndr, const char *name, const struct winbind_lookup_user_info *r); +void ndr_print_STRUCT_winbind_lookup_sid_info_array(struct ndr_print *ndr, const char *name, const struct winbind_lookup_sid_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); diff --git a/source/librpc/gen_ndr/winbind_protocol.h b/source/librpc/gen_ndr/winbind_protocol.h index 3cf8887af7d..5227e9d3615 100644 --- a/source/librpc/gen_ndr/winbind_protocol.h +++ b/source/librpc/gen_ndr/winbind_protocol.h @@ -97,7 +97,8 @@ enum winbind_lookup_level WINBIND_LOOKUP_LEVEL_SID2NAME=1, WINBIND_LOOKUP_LEVEL_NAME2SID=2, WINBIND_LOOKUP_LEVEL_RIDS2NAMES=3, - WINBIND_LOOKUP_LEVEL_SID2USERINFO=4 + WINBIND_LOOKUP_LEVEL_SID2USERINFO=4, + WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS=5 } #else { __donnot_use_enum_winbind_lookup_level=0x7FFFFFFF} @@ -105,6 +106,7 @@ enum winbind_lookup_level #define WINBIND_LOOKUP_LEVEL_NAME2SID ( 2 ) #define WINBIND_LOOKUP_LEVEL_RIDS2NAMES ( 3 ) #define WINBIND_LOOKUP_LEVEL_SID2USERINFO ( 4 ) +#define WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS ( 5 ) #endif ; @@ -147,11 +149,19 @@ struct winbind_lookup_user_info { uint32_t primary_rid; }; +struct winbind_lookup_sid_info_array { + uint32_t num_sids; + struct winbind_lookup_sid_info *sids; +}; + +struct winbind_lookup_sid_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)] */ struct winbind_lookup_user_info user_info;/* [case(WINBIND_LOOKUP_LEVEL_SID2USERINFO)] */ + struct winbind_lookup_sid_info_array sid_array;/* [case(WINBIND_LOOKUP_LEVEL_SID2DOMGROUPS)] */ }/* [switch_type(winbind_lookup_level)] */; enum winbind_get_idmap_level