struct policy_handle *_handle /* [in] [ref] */,
const char *_value_name /* [in] [charset(UTF16)] */,
enum winreg_Type _type /* [in] */,
- union spoolss_PrinterData _data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t __offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */)
+ uint8_t *_data /* [in] [ref,size_is(offered)] */,
+ uint32_t _offered /* [in] */)
{
struct tevent_req *req;
struct rpccli_spoolss_SetPrinterData_state *state;
state->orig.in.value_name = _value_name;
state->orig.in.type = _type;
state->orig.in.data = _data;
- state->orig.in._offered = __offered;
+ state->orig.in.offered = _offered;
/* Out parameters */
struct policy_handle *handle /* [in] [ref] */,
const char *value_name /* [in] [charset(UTF16)] */,
enum winreg_Type type /* [in] */,
- union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
+ uint8_t *data /* [in] [ref,size_is(offered)] */,
+ uint32_t offered /* [in] */,
WERROR *werror)
{
struct spoolss_SetPrinterData r;
r.in.value_name = value_name;
r.in.type = type;
r.in.data = data;
- r.in._offered = _offered;
+ r.in.offered = offered;
status = cli->dispatch(cli,
mem_ctx,
const char *_key_name /* [in] [charset(UTF16)] */,
const char *_value_name /* [in] [charset(UTF16)] */,
enum winreg_Type _type /* [in] */,
- union spoolss_PrinterData _data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t __offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */)
+ uint8_t *_data /* [in] [ref,size_is(offered)] */,
+ uint32_t _offered /* [in] */)
{
struct tevent_req *req;
struct rpccli_spoolss_SetPrinterDataEx_state *state;
state->orig.in.value_name = _value_name;
state->orig.in.type = _type;
state->orig.in.data = _data;
- state->orig.in._offered = __offered;
+ state->orig.in.offered = _offered;
/* Out parameters */
const char *key_name /* [in] [charset(UTF16)] */,
const char *value_name /* [in] [charset(UTF16)] */,
enum winreg_Type type /* [in] */,
- union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
+ uint8_t *data /* [in] [ref,size_is(offered)] */,
+ uint32_t offered /* [in] */,
WERROR *werror)
{
struct spoolss_SetPrinterDataEx r;
r.in.value_name = value_name;
r.in.type = type;
r.in.data = data;
- r.in._offered = _offered;
+ r.in.offered = offered;
status = cli->dispatch(cli,
mem_ctx,
struct policy_handle *_handle /* [in] [ref] */,
const char *_value_name /* [in] [charset(UTF16)] */,
enum winreg_Type _type /* [in] */,
- union spoolss_PrinterData _data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t __offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */);
+ uint8_t *_data /* [in] [ref,size_is(offered)] */,
+ uint32_t _offered /* [in] */);
NTSTATUS rpccli_spoolss_SetPrinterData_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result);
struct policy_handle *handle /* [in] [ref] */,
const char *value_name /* [in] [charset(UTF16)] */,
enum winreg_Type type /* [in] */,
- union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
+ uint8_t *data /* [in] [ref,size_is(offered)] */,
+ uint32_t offered /* [in] */,
WERROR *werror);
struct tevent_req *rpccli_spoolss_WaitForPrinterChange_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
const char *_key_name /* [in] [charset(UTF16)] */,
const char *_value_name /* [in] [charset(UTF16)] */,
enum winreg_Type _type /* [in] */,
- union spoolss_PrinterData _data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t __offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */);
+ uint8_t *_data /* [in] [ref,size_is(offered)] */,
+ uint32_t _offered /* [in] */);
NTSTATUS rpccli_spoolss_SetPrinterDataEx_recv(struct tevent_req *req,
TALLOC_CTX *mem_ctx,
WERROR *result);
const char *key_name /* [in] [charset(UTF16)] */,
const char *value_name /* [in] [charset(UTF16)] */,
enum winreg_Type type /* [in] */,
- union spoolss_PrinterData data /* [in] [subcontext(4),switch_is(type)] */,
- uint32_t _offered /* [in] [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */,
+ uint8_t *data /* [in] [ref,size_is(offered)] */,
+ uint32_t offered /* [in] */,
WERROR *werror);
struct tevent_req *rpccli_spoolss_GetPrinterDataEx_send(TALLOC_CTX *mem_ctx,
struct tevent_context *ev,
ndr->depth--;
}
-_PUBLIC_ enum ndr_err_code ndr_push__spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct _spoolss_SetPrinterData *r)
+static enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r)
{
if (flags & NDR_IN) {
if (r->in.handle == NULL) {
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
- NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in._offered));
+ if (r->in.data == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
+ NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
return NDR_ERR_SUCCESS;
}
-_PUBLIC_ enum ndr_err_code ndr_push___spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct __spoolss_SetPrinterData *r)
-{
- if (flags & NDR_IN) {
- NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
- }
- if (flags & NDR_OUT) {
- if (r->out.data == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.data, r->in.type));
- NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data));
- }
- return NDR_ERR_SUCCESS;
-}
-
static enum ndr_err_code ndr_pull_spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterData *r)
{
TALLOC_CTX *_mem_save_handle_0;
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
- {
- struct ndr_pull *_ndr_data;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 4, -1));
- NDR_CHECK(ndr_pull_set_switch_value(_ndr_data, &r->in.data, r->in.type));
- NDR_CHECK(ndr_pull_spoolss_PrinterData(_ndr_data, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 4, -1));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
+ }
+ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
+ if (r->in.data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
}
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._offered));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
ndr->depth--;
ndr_print_string(ndr, "value_name", r->in.value_name);
ndr_print_winreg_Type(ndr, "type", r->in.type);
- ndr_print_set_switch_value(ndr, &r->in.data, r->in.type);
- ndr_print_spoolss_PrinterData(ndr, "data", &r->in.data);
- ndr_print_uint32(ndr, "_offered", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_PrinterData(&r->in.data, r->in.type, ndr->iconv_convenience, flags):r->in._offered);
+ ndr_print_ptr(ndr, "data", r->in.data);
+ ndr->depth++;
+ ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
+ ndr->depth--;
+ ndr_print_uint32(ndr, "offered", r->in.offered);
ndr->depth--;
}
if (flags & NDR_OUT) {
ndr->depth--;
}
-_PUBLIC_ enum ndr_err_code ndr_push__spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_SetPrinterDataEx *r)
+static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
{
if (flags & NDR_IN) {
if (r->in.handle == NULL) {
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
- NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in._offered));
+ if (r->in.data == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, r->in.offered));
+ NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.data, r->in.offered));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_push_WERROR(ndr, NDR_SCALARS, r->out.result));
return NDR_ERR_SUCCESS;
}
-_PUBLIC_ enum ndr_err_code ndr_push___spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_SetPrinterDataEx *r)
-{
- if (flags & NDR_IN) {
- NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->in.type));
- }
- if (flags & NDR_OUT) {
- if (r->out.data == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_set_switch_value(ndr, r->out.data, r->in.type));
- NDR_CHECK(ndr_push_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data));
- }
- return NDR_ERR_SUCCESS;
-}
-
static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_SetPrinterDataEx *r)
{
TALLOC_CTX *_mem_save_handle_0;
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
- {
- struct ndr_pull *_ndr_data;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_data, 4, -1));
- NDR_CHECK(ndr_pull_set_switch_value(_ndr_data, &r->in.data, r->in.type));
- NDR_CHECK(ndr_pull_spoolss_PrinterData(_ndr_data, NDR_SCALARS|NDR_BUFFERS, &r->in.data));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 4, -1));
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->in.data));
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC_N(ndr, r->in.data, ndr_get_array_size(ndr, &r->in.data));
+ }
+ NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.data, ndr_get_array_size(ndr, &r->in.data)));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
+ if (r->in.data) {
+ NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.data, r->in.offered));
}
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in._offered));
}
if (flags & NDR_OUT) {
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
ndr_print_string(ndr, "key_name", r->in.key_name);
ndr_print_string(ndr, "value_name", r->in.value_name);
ndr_print_winreg_Type(ndr, "type", r->in.type);
- ndr_print_set_switch_value(ndr, &r->in.data, r->in.type);
- ndr_print_spoolss_PrinterData(ndr, "data", &r->in.data);
- ndr_print_uint32(ndr, "_offered", (ndr->flags & LIBNDR_PRINT_SET_VALUES)?ndr_size_spoolss_PrinterData(&r->in.data, r->in.type, ndr->iconv_convenience, flags):r->in._offered);
+ ndr_print_ptr(ndr, "data", r->in.data);
+ ndr->depth++;
+ ndr_print_array_uint8(ndr, "data", r->in.data, r->in.offered);
+ ndr->depth--;
+ ndr_print_uint32(ndr, "offered", r->in.offered);
ndr->depth--;
}
if (flags & NDR_OUT) {
enum ndr_err_code ndr_push_spoolss_GetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterData *r);
enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterData *r);
void ndr_print_spoolss_GetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_GetPrinterData *r);
-enum ndr_err_code ndr_push__spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct _spoolss_SetPrinterData *r);
-enum ndr_err_code ndr_pull__spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct _spoolss_SetPrinterData *r);
-void ndr_print__spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_SetPrinterData *r);
-enum ndr_err_code ndr_push___spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct __spoolss_SetPrinterData *r);
-enum ndr_err_code ndr_pull___spoolss_SetPrinterData(struct ndr_pull *ndr, int flags, struct __spoolss_SetPrinterData *r);
-void ndr_print___spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_SetPrinterData *r);
-enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r);
void ndr_print_spoolss_SetPrinterData(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterData *r);
void ndr_print_spoolss_WaitForPrinterChange(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_WaitForPrinterChange *r);
enum ndr_err_code ndr_push_spoolss_ClosePrinter(struct ndr_push *ndr, int flags, const struct spoolss_ClosePrinter *r);
void ndr_print_spoolss_4a(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4a *r);
void ndr_print_spoolss_4b(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4b *r);
void ndr_print_spoolss_4c(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_4c *r);
-enum ndr_err_code ndr_push__spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_SetPrinterDataEx *r);
-enum ndr_err_code ndr_pull__spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_SetPrinterDataEx *r);
-void ndr_print__spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct _spoolss_SetPrinterDataEx *r);
-enum ndr_err_code ndr_push___spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_SetPrinterDataEx *r);
-enum ndr_err_code ndr_pull___spoolss_SetPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_SetPrinterDataEx *r);
-void ndr_print___spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct __spoolss_SetPrinterDataEx *r);
-enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r);
void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const char *name, int flags, const struct spoolss_SetPrinterDataEx *r);
enum ndr_err_code ndr_push__spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_GetPrinterDataEx *r);
enum ndr_err_code ndr_pull__spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_GetPrinterDataEx *r);
};
-struct _spoolss_SetPrinterData {
- struct {
- struct policy_handle *handle;/* [ref] */
- const char *value_name;/* [charset(UTF16)] */
- enum winreg_Type type;
- DATA_BLOB data;
- uint32_t _offered;
- } in;
-
- struct {
- WERROR result;
- } out;
-
-};
-
-
-struct __spoolss_SetPrinterData {
- struct {
- enum winreg_Type type;
- } in;
-
- struct {
- union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
- } out;
-
-};
-
-
struct spoolss_SetPrinterData {
struct {
struct policy_handle *handle;/* [ref] */
const char *value_name;/* [charset(UTF16)] */
enum winreg_Type type;
- union spoolss_PrinterData data;/* [subcontext(4),switch_is(type)] */
- uint32_t _offered;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
+ uint8_t *data;/* [ref,size_is(offered)] */
+ uint32_t offered;
} in;
struct {
};
-struct _spoolss_SetPrinterDataEx {
- struct {
- struct policy_handle *handle;/* [ref] */
- const char *key_name;/* [charset(UTF16)] */
- const char *value_name;/* [charset(UTF16)] */
- enum winreg_Type type;
- DATA_BLOB data;
- uint32_t _offered;
- } in;
-
- struct {
- WERROR result;
- } out;
-
-};
-
-
-struct __spoolss_SetPrinterDataEx {
- struct {
- enum winreg_Type type;
- } in;
-
- struct {
- union spoolss_PrinterData *data;/* [ref,switch_is(type)] */
- } out;
-
-};
-
-
struct spoolss_SetPrinterDataEx {
struct {
struct policy_handle *handle;/* [ref] */
const char *key_name;/* [charset(UTF16)] */
const char *value_name;/* [charset(UTF16)] */
enum winreg_Type type;
- union spoolss_PrinterData data;/* [subcontext(4),switch_is(type)] */
- uint32_t _offered;/* [value(ndr_size_spoolss_PrinterData(&data,type,ndr->iconv_convenience,flags))] */
+ uint8_t *data;/* [ref,size_is(offered)] */
+ uint32_t offered;
} in;
struct {