NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->minute));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->second));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->millisecond));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 2));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->minute));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->second));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->millisecond));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 2));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_Time(r->time, ndr->iconv_convenience, ndr->flags)));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->time));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->time) {
} else {
r->time = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->time) {
static enum ndr_err_code ndr_push_spoolss_ProcessorArchitecture(struct ndr_push *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture r)
{
- NDR_CHECK(ndr_push_enum_uint16(ndr, NDR_SCALARS, r));
+ NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
static enum ndr_err_code ndr_pull_spoolss_ProcessorArchitecture(struct ndr_pull *ndr, int ndr_flags, enum spoolss_ProcessorArchitecture *r)
{
uint16_t v;
- NDR_CHECK(ndr_pull_enum_uint16(ndr, NDR_SCALARS, &v));
+ NDR_CHECK(ndr_pull_enum_uint1632(ndr, NDR_SCALARS, &v));
*r = v;
return NDR_ERR_SUCCESS;
}
ndr_print_enum(ndr, name, "ENUM", val, r);
}
-static enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterStatus(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterStatus(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
{
uint32_t v;
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->servername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, 32, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_push_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, r->specversion));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->driverversion));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->size));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->yresolution));
NDR_CHECK(ndr_push_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, r->ttoption));
NDR_CHECK(ndr_push_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, r->collate));
- NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 32, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->logpixels));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bitsperpel));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pelswidth));
}
ndr->flags = _flags_save_DATA_BLOB;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, 32, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->devicename, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_spoolss_DeviceModeSpecVersion(ndr, NDR_SCALARS, &r->specversion));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->driverversion));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->yresolution));
NDR_CHECK(ndr_pull_spoolss_DeviceModeTTOption(ndr, NDR_SCALARS, &r->ttoption));
NDR_CHECK(ndr_pull_spoolss_DeviceModeCollate(ndr, NDR_SCALARS, &r->collate));
- NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 32, sizeof(uint16_t), CH_UTF16));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, MAXDEVICENAME, sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->logpixels));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bitsperpel));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pelswidth));
}
ndr->flags = _flags_save_DATA_BLOB;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
ndr->depth--;
}
-static enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterAttributes(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_PrinterAttributes(struct ndr_pull *ndr, int ndr_flags, uint32_t *r)
{
uint32_t v;
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &v));
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->comment));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->description) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->comment) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->location));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ ndr->flags = _flags_save_spoolss_DeviceMode;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->parameters));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ ndr->flags = _flags_save_security_descriptor;
+ }
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->servername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->sharename) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sharename));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sharename));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sharename));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sharename));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->portname) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->drivername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->drivername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->drivername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->drivername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->drivername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->comment) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->comment));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->comment));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->comment));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->location) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->location));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->location));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->location));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->location));
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
- {
- struct ndr_push *_ndr_devmode;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
+ {
+ struct ndr_push *_ndr_devmode;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
}
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->sepfile) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->sepfile));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sepfile));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->sepfile));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sepfile));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printprocessor) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printprocessor));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printprocessor));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printprocessor));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printprocessor));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->datatype) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->datatype));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->datatype));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->parameters) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
- {
- struct ndr_push *_ndr_secdesc;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
+ {
+ struct ndr_push *_ndr_secdesc;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
}
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
- if (_ptr_devmode) {
- NDR_PULL_ALLOC(ndr, r->devmode);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
- } else {
- r->devmode = NULL;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
+ if (_ptr_devmode) {
+ NDR_PULL_ALLOC(ndr, r->devmode);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
+ } else {
+ r->devmode = NULL;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
- if (_ptr_secdesc) {
- NDR_PULL_ALLOC(ndr, r->secdesc);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
- } else {
- r->secdesc = NULL;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
+ if (_ptr_secdesc) {
+ NDR_PULL_ALLOC(ndr, r->secdesc);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
+ } else {
+ r->secdesc = NULL;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->sharename, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sharename));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sharename_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->drivername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->drivername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_drivername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->comment, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->comment));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_comment_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->location, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->location));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
- _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
- {
- struct ndr_pull *_ndr_devmode;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
+ _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
+ {
+ struct ndr_pull *_ndr_devmode;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
}
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
- ndr->offset = _relative_save_offset;
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->sepfile));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sepfile_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->printprocessor, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printprocessor));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printprocessor_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->datatype, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->datatype));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_datatype_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
- _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
- {
- struct ndr_pull *_ndr_secdesc;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
+ _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
+ {
+ struct ndr_pull *_ndr_secdesc;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
}
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
- ndr->offset = _relative_save_offset;
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ ndr->flags = _flags_save_security_descriptor;
+ }
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->secdesc) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
- {
- struct ndr_push *_ndr_secdesc;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
+ {
+ struct ndr_push *_ndr_secdesc;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
}
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
TALLOC_CTX *_mem_save_secdesc_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
- if (_ptr_secdesc) {
- NDR_PULL_ALLOC(ndr, r->secdesc);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
- } else {
- r->secdesc = NULL;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
+ if (_ptr_secdesc) {
+ NDR_PULL_ALLOC(ndr, r->secdesc);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
+ } else {
+ r->secdesc = NULL;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->secdesc) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
- _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
- {
- struct ndr_pull *_ndr_secdesc;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
+ _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
+ {
+ struct ndr_pull *_ndr_secdesc;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
}
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
- ndr->offset = _relative_save_offset;
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->servername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->servername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->servername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->servername));
}
ndr->flags = _flags_save_string;
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->servername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->servername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_servername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printername) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printername));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printername));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printername));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->portname) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->portname));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->portname));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->portname));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->portname));
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printername, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printername));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printername_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->portname, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->portname));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_portname_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->guid) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->guid));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->guid));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->guid));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->guid));
}
ndr->flags = _flags_save_string;
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->guid, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->guid));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_guid_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ ndr->flags = _flags_save_spoolss_DeviceMode;
+ }
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->devmode) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
- {
- struct ndr_push *_ndr_devmode;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
+ {
+ struct ndr_push *_ndr_devmode;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
}
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
}
return NDR_ERR_SUCCESS;
TALLOC_CTX *_mem_save_devmode_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
- if (_ptr_devmode) {
- NDR_PULL_ALLOC(ndr, r->devmode);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
- } else {
- r->devmode = NULL;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
+ if (_ptr_devmode) {
+ NDR_PULL_ALLOC(ndr, r->devmode);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
+ } else {
+ r->devmode = NULL;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
- if (r->devmode) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
- _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
- {
- struct ndr_pull *_ndr_devmode;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
+ _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
+ {
+ struct ndr_pull *_ndr_devmode;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
}
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
- ndr->offset = _relative_save_offset;
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
}
return NDR_ERR_SUCCESS;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrinterInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 0: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
- break; }
-
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
-
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
-
- case 3: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
-
- case 4: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
-
- case 5: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
- break; }
-
- case 6: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
- break; }
-
- case 7: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
- break; }
-
- case 8: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
- break; }
-
- case 9: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
- break; }
-
- default: {
- break; }
-
- }
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 0:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
- break;
-
- case 1:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
-
- case 2:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
-
- case 3:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
- break;
-
- case 4:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
- break;
-
- case 5:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
- break;
-
- case 6:
- break;
-
- case 7:
- NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
- break;
-
- case 8:
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
- break;
-
- case 9:
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
- break;
-
- default:
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 0: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
+ break; }
+
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
+
+ case 3: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
+
+ case 4: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
+
+ case 5: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
+ break; }
+
+ case 6: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
+ break; }
+
+ case 7: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
+ break; }
+
+ case 8: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
+ break; }
+
+ case 9: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 0:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
+ break;
+
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
+
+ case 3:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
+
+ case 4:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
+
+ case 5:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
+ break;
+
+ case 6:
+ break;
+
+ case 7:
+ NDR_CHECK(ndr_push_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
+ break;
+
+ case 8:
+ NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
+ break;
+
+ case 9:
+ NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
+ break;
+
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 0: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
- break; }
-
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
-
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
-
- case 3: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
-
- case 4: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
-
- case 5: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
- break; }
-
- case 6: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
- break; }
-
- case 7: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
- break; }
-
- case 8: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
- break; }
-
- case 9: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
- break; }
-
- default: {
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 0: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_SCALARS, &r->info0));
+ break; }
+
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
+
+ case 3: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
+
+ case 4: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
+
+ case 5: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_SCALARS, &r->info5));
+ break; }
+
+ case 6: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo6(ndr, NDR_SCALARS, &r->info6));
+ break; }
+
+ case 7: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_SCALARS, &r->info7));
+ break; }
+
+ case 8: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info8));
+ break; }
+
+ case 9: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS, &r->info9));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 0:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
+ break;
+
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
+
+ case 3:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
+
+ case 4:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
+
+ case 5:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
+ break;
+
+ case 6:
+ break;
+
+ case 7:
+ NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
+ break;
+
+ case 8:
+ NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
+ break;
+
+ case 9:
+ NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
+ break;
+
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
+{
+ int level;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
switch (level) {
case 0:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo0(ndr, NDR_BUFFERS, &r->info0));
+ ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
break;
case 1:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo1(ndr, NDR_BUFFERS, &r->info1));
+ ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
break;
case 2:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo2(ndr, NDR_BUFFERS, &r->info2));
+ ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
break;
case 3:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo3(ndr, NDR_BUFFERS, &r->info3));
+ ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
break;
case 4:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo4(ndr, NDR_BUFFERS, &r->info4));
+ ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
break;
case 5:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo5(ndr, NDR_BUFFERS, &r->info5));
+ ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
break;
case 6:
+ ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
break;
case 7:
- NDR_CHECK(ndr_pull_spoolss_PrinterInfo7(ndr, NDR_BUFFERS, &r->info7));
+ ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
break;
case 8:
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info8));
+ ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
break;
case 9:
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_BUFFERS, &r->info9));
+ ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
break;
default:
break;
}
- }
- ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
- return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_spoolss_PrinterInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrinterInfo *r)
-{
- int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_PrinterInfo");
- switch (level) {
- case 0:
- ndr_print_spoolss_PrinterInfo0(ndr, "info0", &r->info0);
- break;
-
- case 1:
- ndr_print_spoolss_PrinterInfo1(ndr, "info1", &r->info1);
- break;
-
- case 2:
- ndr_print_spoolss_PrinterInfo2(ndr, "info2", &r->info2);
- break;
-
- case 3:
- ndr_print_spoolss_PrinterInfo3(ndr, "info3", &r->info3);
- break;
-
- case 4:
- ndr_print_spoolss_PrinterInfo4(ndr, "info4", &r->info4);
- break;
-
- case 5:
- ndr_print_spoolss_PrinterInfo5(ndr, "info5", &r->info5);
- break;
-
- case 6:
- ndr_print_spoolss_PrinterInfo6(ndr, "info6", &r->info6);
- break;
-
- case 7:
- ndr_print_spoolss_PrinterInfo7(ndr, "info7", &r->info7);
- break;
-
- case 8:
- ndr_print_spoolss_DeviceModeInfo(ndr, "info8", &r->info8);
- break;
-
- case 9:
- ndr_print_spoolss_DeviceModeInfo(ndr, "info9", &r->info9);
- break;
-
- default:
- break;
-
+ ndr->flags = _flags_save_UNION;
}
}
_PUBLIC_ size_t ndr_size_spoolss_PrinterInfo(const union spoolss_PrinterInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterInfo, ic);
}
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, _ndr_size_spoolss_DeviceMode(r->devmode, ndr->iconv_convenience, ndr->flags)));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->devmode) {
} else {
r->devmode = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->devmode) {
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printer_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->server_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->user_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->document_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_type) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->text_status) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ ndr->flags = _flags_save_spoolss_DeviceMode;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ ndr->flags = _flags_save_security_descriptor;
+ }
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printer_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->server_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->user_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->document_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->notify_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->notify_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_type) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->print_processor) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->parameters) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
- NDR_CHECK(ndr_push_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
+ {
+ struct ndr_push *_ndr_devmode;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->text_status) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
- NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
+ {
+ struct ndr_push *_ndr_secdesc;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
- if (_ptr_devmode) {
- NDR_PULL_ALLOC(ndr, r->devmode);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
- } else {
- r->devmode = NULL;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
+ if (_ptr_devmode) {
+ NDR_PULL_ALLOC(ndr, r->devmode);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
+ } else {
+ r->devmode = NULL;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
- if (_ptr_secdesc) {
- NDR_PULL_ALLOC(ndr, r->secdesc);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
- } else {
- r->secdesc = NULL;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
+ if (_ptr_secdesc) {
+ NDR_PULL_ALLOC(ndr, r->secdesc);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
+ } else {
+ r->secdesc = NULL;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
- _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
- NDR_CHECK(ndr_pull_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
- ndr->offset = _relative_save_offset;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
+ _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
+ {
+ struct ndr_pull *_ndr_devmode;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
- _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
- NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
- ndr->offset = _relative_save_offset;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
+ _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
+ {
+ struct ndr_pull *_ndr_secdesc;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->next_job_id));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->next_job_id));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->devmode));
+ ndr->flags = _flags_save_spoolss_DeviceMode;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->text_status));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->secdesc));
+ ndr->flags = _flags_save_security_descriptor;
+ }
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->position));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->printer_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->printer_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->printer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->printer_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->server_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->server_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->server_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->server_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->user_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->user_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->user_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->user_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->document_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->document_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->document_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->document_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->notify_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->notify_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->notify_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->notify_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->notify_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_type) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_type));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_type));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_type));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->print_processor) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->parameters) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->parameters));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->parameters));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->parameters));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->devmode));
- NDR_CHECK(ndr_push_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode));
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->devmode));
+ {
+ struct ndr_push *_ndr_devmode;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->devmode));
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->text_status) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->text_status));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->text_status));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->text_status));
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->secdesc));
- NDR_CHECK(ndr_push_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->secdesc));
+ {
+ struct ndr_push *_ndr_secdesc;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->secdesc));
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
- if (_ptr_devmode) {
- NDR_PULL_ALLOC(ndr, r->devmode);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
- } else {
- r->devmode = NULL;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
+ if (_ptr_devmode) {
+ NDR_PULL_ALLOC(ndr, r->devmode);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->devmode, _ptr_devmode));
+ } else {
+ r->devmode = NULL;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
- if (_ptr_secdesc) {
- NDR_PULL_ALLOC(ndr, r->secdesc);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
- } else {
- r->secdesc = NULL;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
+ if (_ptr_secdesc) {
+ NDR_PULL_ALLOC(ndr, r->secdesc);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->secdesc, _ptr_secdesc));
+ } else {
+ r->secdesc = NULL;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->printer_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->printer_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_printer_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->server_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->server_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_server_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->user_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->user_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_user_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->document_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->document_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_document_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->notify_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->notify_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_notify_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_type, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_type));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_type_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->parameters, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->parameters));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->devmode) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
- _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
- NDR_CHECK(ndr_pull_spoolss_DeviceMode(ndr, NDR_SCALARS, r->devmode));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
- ndr->offset = _relative_save_offset;
+ {
+ uint32_t _flags_save_spoolss_DeviceMode = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->devmode) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->devmode));
+ _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
+ {
+ struct ndr_pull *_ndr_devmode;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
+ NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_spoolss_DeviceMode;
}
{
uint32_t _flags_save_string = ndr->flags;
NDR_PULL_SET_MEM_CTX(ndr, r->text_status, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->text_status));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_text_status_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- if (r->secdesc) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
- _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
- NDR_CHECK(ndr_pull_security_descriptor(ndr, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
- ndr->offset = _relative_save_offset;
+ {
+ uint32_t _flags_save_security_descriptor = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
+ if (r->secdesc) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->secdesc));
+ _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
+ {
+ struct ndr_pull *_ndr_secdesc;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
+ NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
+ }
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_JobInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_JobInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- case 3: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
+ case 3: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
- case 4: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
+ case 4: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- case 3:
- break;
+ case 3:
+ break;
- case 4:
- NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
- break;
+ case 4:
+ NDR_CHECK(ndr_push_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- case 3: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
+ case 3: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_JobInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
- case 4: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
+ case 4: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
+
+ case 3:
+ break;
+
+ case 4:
+ NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
+
+ default:
+ break;
+
+ }
}
+ ndr->flags = _flags_save_UNION;
}
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
+{
+ int level;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_JobInfo");
switch (level) {
case 1:
- NDR_CHECK(ndr_pull_spoolss_JobInfo1(ndr, NDR_BUFFERS, &r->info1));
+ ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
break;
case 2:
- NDR_CHECK(ndr_pull_spoolss_JobInfo2(ndr, NDR_BUFFERS, &r->info2));
+ ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2);
break;
case 3:
+ ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3);
break;
case 4:
- NDR_CHECK(ndr_pull_spoolss_JobInfo4(ndr, NDR_BUFFERS, &r->info4));
+ ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4);
break;
default:
break;
}
+ ndr->flags = _flags_save_UNION;
}
- ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
- return NDR_ERR_SUCCESS;
}
-_PUBLIC_ void ndr_print_spoolss_JobInfo(struct ndr_print *ndr, const char *name, const union spoolss_JobInfo *r)
+_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
- int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_JobInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_JobInfo1(ndr, "info1", &r->info1);
- break;
-
- case 2:
- ndr_print_spoolss_JobInfo2(ndr, "info2", &r->info2);
- break;
-
- case 3:
- ndr_print_spoolss_JobInfo3(ndr, "info3", &r->info3);
- break;
-
- case 4:
- ndr_print_spoolss_JobInfo4(ndr, "info4", &r->info4);
- break;
-
- default:
- break;
-
- }
-}
-
-_PUBLIC_ size_t ndr_size_spoolss_JobInfo(const union spoolss_JobInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
-{
- return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo, ic);
-}
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
+ return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_JobInfo, ic);
+}
static enum ndr_err_code ndr_push_spoolss_SetJobInfo1(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetJobInfo1 *r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->total_pages));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->total_pages));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
NDR_CHECK(ndr_push_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
NDR_CHECK(ndr_pull_spoolss_Time(ndr, NDR_SCALARS, &r->submitted));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->time));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->pages_printed));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size_high));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->time));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->pages_printed));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size_high));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printer_name) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t _ptr_info1;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_spoolss_SetJobInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ref_ic));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved2));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved3));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->servername) {
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->ref_ic));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved2));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved3));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->servername) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->description));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->name));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->description) {
} else {
r->comment = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->description) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->drivername));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->comment));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->location));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->devmode));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->sepfile));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printprocessor));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->parameters));
- NDR_CHECK(ndr_push_unique_ptr(ndr, r->secdesc));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->secdesc_ptr));
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->defaultpriority));
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->cjobs));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->averageppm));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->servername) {
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->location, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->location, ndr_charset_length(r->location, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->devmode) {
- {
- struct ndr_push *_ndr_devmode;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_push_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_devmode, 0, -1));
- }
- }
if (r->sepfile) {
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->sepfile, CH_UTF16)));
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->parameters, CH_UTF16)));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->parameters, ndr_charset_length(r->parameters, CH_UTF16), sizeof(uint16_t), CH_UTF16));
}
- if (r->secdesc) {
- {
- struct ndr_push *_ndr_secdesc;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_push_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_secdesc, 0, -1));
- }
- }
}
return NDR_ERR_SUCCESS;
}
TALLOC_CTX *_mem_save_comment_0;
uint32_t _ptr_location;
TALLOC_CTX *_mem_save_location_0;
- uint32_t _ptr_devmode;
- TALLOC_CTX *_mem_save_devmode_0;
uint32_t _ptr_sepfile;
TALLOC_CTX *_mem_save_sepfile_0;
uint32_t _ptr_printprocessor;
TALLOC_CTX *_mem_save_datatype_0;
uint32_t _ptr_parameters;
TALLOC_CTX *_mem_save_parameters_0;
- uint32_t _ptr_secdesc;
- TALLOC_CTX *_mem_save_secdesc_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_servername));
} else {
r->location = NULL;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_devmode));
- if (_ptr_devmode) {
- NDR_PULL_ALLOC(ndr, r->devmode);
- } else {
- r->devmode = NULL;
- }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_sepfile));
if (_ptr_sepfile) {
NDR_PULL_ALLOC(ndr, r->sepfile);
} else {
r->parameters = NULL;
}
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
- if (_ptr_secdesc) {
- NDR_PULL_ALLOC(ndr, r->secdesc);
- } else {
- r->secdesc = NULL;
- }
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->secdesc_ptr));
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
if (r->priority > 99) {
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->cjobs));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->averageppm));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->servername) {
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->location, ndr_get_array_length(ndr, &r->location), sizeof(uint16_t), CH_UTF16));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_location_0, 0);
}
- if (r->devmode) {
- _mem_save_devmode_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->devmode, 0);
- {
- struct ndr_pull *_ndr_devmode;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_devmode, 0, -1));
- NDR_CHECK(ndr_pull_spoolss_DeviceMode(_ndr_devmode, NDR_SCALARS, r->devmode));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_devmode, 0, -1));
- }
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_devmode_0, 0);
- }
if (r->sepfile) {
_mem_save_sepfile_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->sepfile, 0);
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->parameters, ndr_get_array_length(ndr, &r->parameters), sizeof(uint16_t), CH_UTF16));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_parameters_0, 0);
}
- if (r->secdesc) {
- _mem_save_secdesc_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->secdesc, 0);
- {
- struct ndr_pull *_ndr_secdesc;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_secdesc, 0, -1));
- NDR_CHECK(ndr_pull_security_descriptor(_ndr_secdesc, NDR_SCALARS|NDR_BUFFERS, r->secdesc));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_secdesc, 0, -1));
- }
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_secdesc_0, 0);
- }
}
return NDR_ERR_SUCCESS;
}
ndr_print_string(ndr, "location", r->location);
}
ndr->depth--;
- ndr_print_ptr(ndr, "devmode", r->devmode);
- ndr->depth++;
- if (r->devmode) {
- ndr_print_spoolss_DeviceMode(ndr, "devmode", r->devmode);
- }
- ndr->depth--;
+ ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
ndr_print_ptr(ndr, "sepfile", r->sepfile);
ndr->depth++;
if (r->sepfile) {
ndr_print_string(ndr, "parameters", r->parameters);
}
ndr->depth--;
- ndr_print_ptr(ndr, "secdesc", r->secdesc);
- ndr->depth++;
- if (r->secdesc) {
- ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
- }
- ndr->depth--;
+ ndr_print_uint32(ndr, "secdesc_ptr", r->secdesc_ptr);
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
ndr_print_uint32(ndr, "priority", r->priority);
ndr_print_uint32(ndr, "defaultpriority", r->defaultpriority);
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->sec_desc_ptr));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->sec_desc_ptr));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_unique_ptr(ndr, r->printername));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->servername));
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printername) {
r->servername = NULL;
}
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printername) {
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->device_not_selected_timeout));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->transmission_retry_timeout));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printername) {
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->device_not_selected_timeout));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->transmission_retry_timeout));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->printername) {
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
NDR_CHECK(ndr_push_spoolss_PrinterStatus(ndr, NDR_SCALARS, r->status));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
NDR_CHECK(ndr_pull_spoolss_PrinterStatus(ndr, NDR_SCALARS, &r->status));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->guid));
NDR_CHECK(ndr_push_spoolss_DsPrintAction(ndr, NDR_SCALARS, r->action));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->guid) {
r->guid = NULL;
}
NDR_CHECK(ndr_pull_spoolss_DsPrintAction(ndr, NDR_SCALARS, &r->action));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->guid) {
ndr->depth--;
}
+static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo8 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo8(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo8 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo8(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo8 *r)
+{
+ ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo8");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
+ ndr->depth--;
+}
+
+static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo9(struct ndr_push *ndr, int ndr_flags, const struct spoolss_SetPrinterInfo9 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->devmode_ptr));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_SetPrinterInfo9(struct ndr_pull *ndr, int ndr_flags, struct spoolss_SetPrinterInfo9 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->devmode_ptr));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_SetPrinterInfo9(struct ndr_print *ndr, const char *name, const struct spoolss_SetPrinterInfo9 *r)
+{
+ ndr_print_struct(ndr, name, "spoolss_SetPrinterInfo9");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "devmode_ptr", r->devmode_ptr);
+ ndr->depth--;
+}
+
static enum ndr_err_code ndr_push_spoolss_SetPrinterInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_SetPrinterInfo *r)
{
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 0: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
case 8:
if (r->info8) {
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
+ NDR_CHECK(ndr_push_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
}
break;
case 9:
if (r->info9) {
- NDR_CHECK(ndr_push_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info9));
+ NDR_CHECK(ndr_push_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
}
break;
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 0: {
uint32_t _ptr_info0;
if (r->info8) {
_mem_save_info8_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->info8, 0);
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info8));
+ NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo8(ndr, NDR_SCALARS, r->info8));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info8_0, 0);
}
break;
if (r->info9) {
_mem_save_info9_0 = NDR_PULL_GET_MEM_CTX(ndr);
NDR_PULL_SET_MEM_CTX(ndr, r->info9, 0);
- NDR_CHECK(ndr_pull_spoolss_DeviceModeInfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->info9));
+ NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo9(ndr, NDR_SCALARS, r->info9));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info9_0, 0);
}
break;
ndr_print_ptr(ndr, "info8", r->info8);
ndr->depth++;
if (r->info8) {
- ndr_print_spoolss_DeviceModeInfo(ndr, "info8", r->info8);
+ ndr_print_spoolss_SetPrinterInfo8(ndr, "info8", r->info8);
}
ndr->depth--;
break;
ndr_print_ptr(ndr, "info9", r->info9);
ndr->depth++;
if (r->info9) {
- ndr_print_spoolss_DeviceModeInfo(ndr, "info9", r->info9);
+ ndr_print_spoolss_SetPrinterInfo9(ndr, "info9", r->info9);
}
ndr->depth--;
break;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_spoolss_SetPrinterInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string));
ndr->flags = _flags_save_string_array;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string));
ndr->flags = _flags_save_string_array;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
} else {
r->driver_name = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->driver_path));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->data_file));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->config_file));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
} else {
r->config_file = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->default_datatype));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->dependent_files, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
} else {
r->dependent_files = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->dependent_files));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ((ndr_size_spoolss_StringArray(r->previous_names, ndr->iconv_convenience, ndr->flags) - 4) / 2)));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->previous_names));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
} else {
r->previous_names = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->manufacturer_url));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->hardware_id));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->provider));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
} else {
r->provider = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->core_driver_dependencies));
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
}
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->driver_name) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t _ptr_info1;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->info, r->level));
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_SCALARS, &r->info));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_spoolss_AddDriverInfo(ndr, NDR_BUFFERS, &r->info));
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->help_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dependent_files) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->default_datatype) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
ndr->flags = _flags_save_string_array;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->help_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dependent_files) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->default_datatype) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->previous_names) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
}
ndr->flags = _flags_save_string_array;
}
}
ndr->flags = _flags_save_string_array;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_CHECK(ndr_push_spoolss_DriverAttributes(ndr, NDR_SCALARS, r->driver_attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->config_version));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->driver_version));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_spoolss_DriverAttributes(ndr, NDR_SCALARS, &r->driver_attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->config_version));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->driver_version));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->help_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dependent_files) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->default_datatype) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->previous_names) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->manufacturer_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->manufacturer_url) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_url));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->hardware_id) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->hardware_id));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->provider) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->provider));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo6, ic);
}
-_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r)
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo7(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo7 *r)
{
if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
{
uint32_t _flags_save_string = ndr->flags;
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->inf_name));
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->install_source_root));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
+ if (r->driver_name) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
+ }
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
+ if (r->inf_name) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_name));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_name));
+ }
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
+ if (r->install_source_root) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->install_source_root));
+ NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->install_source_root));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->install_source_root));
+ }
ndr->flags = _flags_save_string;
}
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo7(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo7 *r)
+{
+ uint32_t _ptr_driver_name;
+ TALLOC_CTX *_mem_save_driver_name_0;
+ uint32_t _ptr_inf_name;
+ TALLOC_CTX *_mem_save_inf_name_0;
+ uint32_t _ptr_install_source_root;
+ TALLOC_CTX *_mem_save_install_source_root_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->size));
+ NDR_CHECK(ndr_pull_spoolss_DriverOSVersion(ndr, NDR_SCALARS, &r->version));
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_driver_name));
+ if (_ptr_driver_name) {
+ NDR_PULL_ALLOC(ndr, r->driver_name);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->driver_name, _ptr_driver_name));
+ } else {
+ r->driver_name = NULL;
+ }
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_inf_name));
+ if (_ptr_inf_name) {
+ NDR_PULL_ALLOC(ndr, r->inf_name);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->inf_name, _ptr_inf_name));
+ } else {
+ r->inf_name = NULL;
+ }
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_string_array = ndr->flags;
+ uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
- ndr->flags = _flags_save_string_array;
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_install_source_root));
+ if (_ptr_install_source_root) {
+ NDR_PULL_ALLOC(ndr, r->install_source_root);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->install_source_root, _ptr_install_source_root));
+ } else {
+ r->install_source_root = NULL;
+ }
+ ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
{
- uint32_t _flags_save_string_array = ndr->flags;
+ uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
- ndr->flags = _flags_save_string_array;
+ if (r->driver_name) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->driver_name));
+ _mem_save_driver_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
- NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
+ if (r->inf_name) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->inf_name));
+ _mem_save_inf_name_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->inf_name, 0);
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_name));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
+ if (r->install_source_root) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->install_source_root));
+ _mem_save_install_source_root_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->install_source_root, 0);
+ NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->install_source_root));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_install_source_root_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
ndr->flags = _flags_save_string;
}
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DriverInfo7(struct ndr_print *ndr, const char *name, const struct spoolss_DriverInfo7 *r)
+{
+ ndr_print_struct(ndr, name, "spoolss_DriverInfo7");
+ ndr->depth++;
+ ndr_print_uint32(ndr, "size", r->size);
+ ndr_print_spoolss_DriverOSVersion(ndr, "version", r->version);
+ ndr_print_ptr(ndr, "driver_name", r->driver_name);
+ ndr->depth++;
+ if (r->driver_name) {
+ ndr_print_string(ndr, "driver_name", r->driver_name);
+ }
+ ndr->depth--;
+ ndr_print_ptr(ndr, "inf_name", r->inf_name);
+ ndr->depth++;
+ if (r->inf_name) {
+ ndr_print_string(ndr, "inf_name", r->inf_name);
+ }
+ ndr->depth--;
+ ndr_print_ptr(ndr, "install_source_root", r->install_source_root);
+ ndr->depth++;
+ if (r->install_source_root) {
+ ndr_print_string(ndr, "install_source_root", r->install_source_root);
+ }
+ ndr->depth--;
+ ndr->depth--;
+}
+
+_PUBLIC_ size_t ndr_size_spoolss_DriverInfo7(const struct spoolss_DriverInfo7 *r, struct smb_iconv_convenience *ic, int flags)
+{
+ return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo7, ic);
+}
+
+_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo8(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo8 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_spoolss_DriverOSVersion(ndr, NDR_SCALARS, r->version));
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_name));
ndr->flags = _flags_save_string;
}
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->architecture));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->driver_path));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data_file));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->config_file));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->help_file));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dependent_files));
+ ndr->flags = _flags_save_string_array;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->default_datatype));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->previous_names));
+ ndr->flags = _flags_save_string_array;
+ }
+ NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
+ NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_name));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->manufacturer_url));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->hardware_id));
+ ndr->flags = _flags_save_string;
+ }
+ {
+ uint32_t _flags_save_string = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->provider));
ndr->flags = _flags_save_string;
}
{
}
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->min_inbox_driver_ver_date));
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->min_inbox_driver_ver_version));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->architecture) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->architecture));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->architecture));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->architecture));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->driver_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->driver_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->driver_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->driver_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->data_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->data_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->config_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->config_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->config_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->config_file));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->help_file) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->help_file));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->help_file));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->help_file));
}
ndr->flags = _flags_save_string;
}
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ if (r->dependent_files) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dependent_files));
+ NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dependent_files));
+ }
+ ndr->flags = _flags_save_string_array;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->default_datatype) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->default_datatype));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->default_datatype));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->default_datatype));
}
ndr->flags = _flags_save_string;
}
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (r->dependent_files) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dependent_files));
- NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->dependent_files));
- }
- ndr->flags = _flags_save_string_array;
- }
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->previous_names) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->previous_names));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->previous_names));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->previous_names));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->manufacturer_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->manufacturer_url) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->manufacturer_url));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->manufacturer_url));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->manufacturer_url));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->manufacturer_url));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->hardware_id) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->hardware_id));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->hardware_id));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->hardware_id));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->hardware_id));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->provider) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->provider));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->provider));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->provider));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->provider));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->print_processor) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->vendor_setup) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->vendor_setup));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->vendor_setup));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->vendor_setup));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->vendor_setup));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->color_profiles) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->color_profiles));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->color_profiles));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->color_profiles));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->color_profiles));
}
ndr->flags = _flags_save_string_array;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->inf_path) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->inf_path));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->inf_path));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->inf_path));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->inf_path));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->core_driver_dependencies) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->core_driver_dependencies));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->core_driver_dependencies));
NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->core_driver_dependencies));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->core_driver_dependencies));
}
ndr->flags = _flags_save_string_array;
}
TALLOC_CTX *_mem_save_config_file_0;
uint32_t _ptr_help_file;
TALLOC_CTX *_mem_save_help_file_0;
+ uint32_t _ptr_dependent_files;
+ TALLOC_CTX *_mem_save_dependent_files_0;
uint32_t _ptr_monitor_name;
TALLOC_CTX *_mem_save_monitor_name_0;
uint32_t _ptr_default_datatype;
TALLOC_CTX *_mem_save_default_datatype_0;
- uint32_t _ptr_dependent_files;
- TALLOC_CTX *_mem_save_dependent_files_0;
uint32_t _ptr_previous_names;
TALLOC_CTX *_mem_save_previous_names_0;
uint32_t _ptr_manufacturer_name;
}
ndr->flags = _flags_save_string;
}
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
+ if (_ptr_dependent_files) {
+ NDR_PULL_ALLOC(ndr, r->dependent_files);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
+ } else {
+ r->dependent_files = NULL;
+ }
+ ndr->flags = _flags_save_string_array;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
}
ndr->flags = _flags_save_string;
}
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dependent_files));
- if (_ptr_dependent_files) {
- NDR_PULL_ALLOC(ndr, r->dependent_files);
- NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->dependent_files, _ptr_dependent_files));
- } else {
- r->dependent_files = NULL;
- }
- ndr->flags = _flags_save_string_array;
- }
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
}
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_date));
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->min_inbox_driver_ver_version));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->driver_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->architecture, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->architecture));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_architecture_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->driver_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->driver_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_driver_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->data_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->data_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->config_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->config_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_config_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->help_file, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->help_file));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_help_file_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ if (r->dependent_files) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
+ _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
+ NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
+ ndr->offset = _relative_save_offset;
+ }
+ ndr->flags = _flags_save_string_array;
+ }
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->default_datatype, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->default_datatype));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_default_datatype_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
- {
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (r->dependent_files) {
- uint32_t _relative_save_offset;
- _relative_save_offset = ndr->offset;
- NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->dependent_files));
- _mem_save_dependent_files_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->dependent_files, 0);
- NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->dependent_files));
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dependent_files_0, 0);
- ndr->offset = _relative_save_offset;
- }
- ndr->flags = _flags_save_string_array;
- }
{
uint32_t _flags_save_string_array = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
NDR_PULL_SET_MEM_CTX(ndr, r->previous_names, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->previous_names));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_previous_names_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->manufacturer_url, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->manufacturer_url));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_manufacturer_url_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->hardware_id, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->hardware_id));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_hardware_id_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->provider, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->provider));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_provider_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->vendor_setup, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->vendor_setup));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_vendor_setup_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->color_profiles, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->color_profiles));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_color_profiles_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
NDR_PULL_SET_MEM_CTX(ndr, r->inf_path, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->inf_path));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_inf_path_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->core_driver_dependencies, 0);
NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->core_driver_dependencies));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_core_driver_dependencies_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string_array;
ndr_print_string(ndr, "help_file", r->help_file);
}
ndr->depth--;
+ ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
+ ndr->depth++;
+ if (r->dependent_files) {
+ ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
+ }
+ ndr->depth--;
ndr_print_ptr(ndr, "monitor_name", r->monitor_name);
ndr->depth++;
if (r->monitor_name) {
ndr_print_string(ndr, "default_datatype", r->default_datatype);
}
ndr->depth--;
- ndr_print_ptr(ndr, "dependent_files", r->dependent_files);
- ndr->depth++;
- if (r->dependent_files) {
- ndr_print_string_array(ndr, "dependent_files", r->dependent_files);
- }
- ndr->depth--;
ndr_print_ptr(ndr, "previous_names", r->previous_names);
ndr->depth++;
if (r->previous_names) {
}
NDR_CHECK(ndr_push_spoolss_DriverFileType(ndr, NDR_SCALARS, r->file_type));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->file_version));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->file_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->file_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->file_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->file_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->file_name));
}
ndr->flags = _flags_save_string;
}
}
NDR_CHECK(ndr_pull_spoolss_DriverFileType(ndr, NDR_SCALARS, &r->file_type));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->file_version));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->file_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->file_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_file_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
-
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
-
- case 3: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
-
- case 4: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
-
- case 5: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
- break; }
-
- case 6: {
- NDR_CHECK(ndr_push_align(ndr, 8));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
- break; }
-
- case 8: {
- NDR_CHECK(ndr_push_align(ndr, 8));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
- break; }
-
- case 101: {
- NDR_CHECK(ndr_push_align(ndr, 8));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
- break; }
-
- default: {
- break; }
-
- }
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
-
- case 2:
- NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
-
- case 3:
- NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
- break;
-
- case 4:
- NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
- break;
-
- case 5:
- NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
- break;
-
- case 6:
- NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
- break;
-
- case 8:
- NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
- break;
-
- case 101:
- NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
- break;
-
- default:
- break;
-
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 8));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
+
+ case 3: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
+
+ case 4: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
+
+ case 5: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
+ break; }
+
+ case 6: {
+ NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
+ break; }
+
+ case 7: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
+ break; }
+
+ case 8: {
+ NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
+ break; }
+
+ case 101: {
+ NDR_CHECK(ndr_push_align(ndr, 8));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
+
+ case 3:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
+
+ case 4:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
+
+ case 5:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
+ break;
+
+ case 6:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
+ break;
+
+ case 7:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
+ break;
+
+ case 8:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
+ break;
+
+ case 101:
+ NDR_CHECK(ndr_push_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
+ break;
+
+ default:
+ break;
+
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
-
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
-
- case 3: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
-
- case 4: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
- break; }
-
- case 5: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
- break; }
-
- case 6: {
- NDR_CHECK(ndr_pull_align(ndr, 8));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
- break; }
-
- case 8: {
- NDR_CHECK(ndr_pull_align(ndr, 8));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
- break; }
-
- case 101: {
- NDR_CHECK(ndr_pull_align(ndr, 8));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
- break; }
-
- default: {
- break; }
-
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 8));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
+
+ case 3: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
+
+ case 4: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_SCALARS, &r->info4));
+ break; }
+
+ case 5: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_SCALARS, &r->info5));
+ break; }
+
+ case 6: {
+ NDR_CHECK(ndr_pull_align(ndr, 8));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_SCALARS, &r->info6));
+ break; }
+
+ case 7: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_SCALARS, &r->info7));
+ break; }
+
+ case 8: {
+ NDR_CHECK(ndr_pull_align(ndr, 8));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_SCALARS, &r->info8));
+ break; }
+
+ case 101: {
+ NDR_CHECK(ndr_pull_align(ndr, 8));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_SCALARS, &r->info101));
+ break; }
+
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
+
+ case 3:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
+
+ case 4:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
+ break;
+
+ case 5:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
+ break;
+
+ case 6:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
+ break;
+
+ case 7:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo7(ndr, NDR_BUFFERS, &r->info7));
+ break;
+
+ case 8:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
+ break;
+
+ case 101:
+ NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
+ break;
+
+ default:
+ break;
+
+ }
}
+ ndr->flags = _flags_save_UNION;
}
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
+{
+ int level;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
switch (level) {
case 1:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo1(ndr, NDR_BUFFERS, &r->info1));
+ ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
break;
case 2:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo2(ndr, NDR_BUFFERS, &r->info2));
+ ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
break;
case 3:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo3(ndr, NDR_BUFFERS, &r->info3));
+ ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
break;
case 4:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo4(ndr, NDR_BUFFERS, &r->info4));
+ ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
break;
case 5:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo5(ndr, NDR_BUFFERS, &r->info5));
+ ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
break;
case 6:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo6(ndr, NDR_BUFFERS, &r->info6));
+ ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
+ break;
+
+ case 7:
+ ndr_print_spoolss_DriverInfo7(ndr, "info7", &r->info7);
break;
case 8:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo8(ndr, NDR_BUFFERS, &r->info8));
+ ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8);
break;
case 101:
- NDR_CHECK(ndr_pull_spoolss_DriverInfo101(ndr, NDR_BUFFERS, &r->info101));
+ ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101);
break;
default:
break;
}
- }
- ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
- return NDR_ERR_SUCCESS;
-}
-
-_PUBLIC_ void ndr_print_spoolss_DriverInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverInfo *r)
-{
- int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_DriverInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_DriverInfo1(ndr, "info1", &r->info1);
- break;
-
- case 2:
- ndr_print_spoolss_DriverInfo2(ndr, "info2", &r->info2);
- break;
-
- case 3:
- ndr_print_spoolss_DriverInfo3(ndr, "info3", &r->info3);
- break;
-
- case 4:
- ndr_print_spoolss_DriverInfo4(ndr, "info4", &r->info4);
- break;
-
- case 5:
- ndr_print_spoolss_DriverInfo5(ndr, "info5", &r->info5);
- break;
-
- case 6:
- ndr_print_spoolss_DriverInfo6(ndr, "info6", &r->info6);
- break;
-
- case 8:
- ndr_print_spoolss_DriverInfo8(ndr, "info8", &r->info8);
- break;
-
- case 101:
- ndr_print_spoolss_DriverInfo101(ndr, "info101", &r->info101);
- break;
-
- default:
- break;
-
+ ndr->flags = _flags_save_UNION;
}
}
_PUBLIC_ size_t ndr_size_spoolss_DriverInfo(const union spoolss_DriverInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverInfo, ic);
}
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_DriverDirectoryInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 4));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ default: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 4));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ default: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_DriverDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_DriverDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_DriverDirectoryInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_DriverDirectoryInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
+ break;
- default:
- ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
- break;
+ default:
+ ndr_print_spoolss_DriverDirectoryInfo1(ndr, "info1", &r->info1);
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
_PUBLIC_ size_t ndr_size_spoolss_DriverDirectoryInfo(const union spoolss_DriverDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_DriverDirectoryInfo, ic);
}
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->print_processor_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->print_processor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->print_processor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->print_processor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->print_processor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->print_processor_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->print_processor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->print_processor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_print_processor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_PrintProcessorInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_PrintProcessorInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_PrintProcessorInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_PrintProcessorInfo1(ndr, "info1", &r->info1);
+ break;
- default:
- break;
+ default:
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->directory_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->directory_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcessorDirectoryInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcessorDirectoryInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 4));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- NDR_CHECK(ndr_push_align(ndr, 4));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ default: {
+ NDR_CHECK(ndr_push_align(ndr, 4));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 4));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- NDR_CHECK(ndr_pull_align(ndr, 4));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ default: {
+ NDR_CHECK(ndr_pull_align(ndr, 4));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrintProcessorDirectoryInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_PrintProcessorDirectoryInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcessorDirectoryInfo *r)
{
- int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
- break;
+ int level;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_PrintProcessorDirectoryInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
+ break;
- default:
- ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
- break;
+ default:
+ ndr_print_spoolss_PrintProcessorDirectoryInfo1(ndr, "info1", &r->info1);
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
_PUBLIC_ size_t ndr_size_spoolss_PrintProcessorDirectoryInfo(const union spoolss_PrintProcessorDirectoryInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrintProcessorDirectoryInfo, ic);
}
NDR_CHECK(ndr_push_unique_ptr(ndr, r->document_name));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->output_file));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->datatype));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->document_name) {
} else {
r->datatype = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->document_name) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t _ptr_info1;
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->suite_mask));
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->product_type));
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->reserved));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->suite_mask));
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->product_type));
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->reserved));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
{
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 4));
switch (level) {
case REG_NONE: {
break; }
int level;
level = ndr_pull_get_switch_value(ndr, r);
if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 4));
switch (level) {
case REG_NONE: {
break; }
}
}
-_PUBLIC_ size_t ndr_size_spoolss_PrinterData(const union spoolss_PrinterData *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
-{
- return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData, ic);
-}
-
static enum ndr_err_code ndr_push_spoolss_FormFlags(struct ndr_push *ndr, int ndr_flags, enum spoolss_FormFlags r)
{
NDR_CHECK(ndr_push_enum_uint32(ndr, NDR_SCALARS, r));
NDR_CHECK(ndr_push_align(ndr, 4));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->width));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->height));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_align(ndr, 4));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->width));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->height));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->top));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->right));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->bottom));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->top));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->right));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->bottom));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
}
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->form_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->form_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
}
ndr->flags = _flags_save_string;
}
}
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->display_name));
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->lang_id));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->unused));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->form_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->form_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->form_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->form_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->form_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM);
if (r->keyword) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->keyword));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->keyword));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->keyword));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->keyword));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->mui_dll) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->mui_dll));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->mui_dll));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->mui_dll));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->mui_dll));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->display_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->display_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->display_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->display_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->display_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->lang_id));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->unused));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->form_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->form_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_form_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->keyword, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->keyword));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_keyword_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->mui_dll, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->mui_dll));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_mui_dll_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->display_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->display_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_display_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
ndr_print_string(ndr, "display_name", r->display_name);
}
ndr->depth--;
- ndr_print_uint32(ndr, "lang_id", r->lang_id);
+ ndr_print_uint16(ndr, "lang_id", r->lang_id);
+ ndr_print_uint16(ndr, "unused", r->unused);
ndr->depth--;
}
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_FormInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_FormInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_FormInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_FormInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_FormInfo(struct ndr_print *ndr, const char *name, const union spoolss_FormInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_FormInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_FormInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_FormInfo1(ndr, "info1", &r->info1);
+ break;
- case 2:
- ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2);
- break;
+ case 2:
+ ndr_print_spoolss_FormInfo2(ndr, "info2", &r->info2);
+ break;
- default:
- break;
+ default:
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
_PUBLIC_ size_t ndr_size_spoolss_FormInfo(const union spoolss_FormInfo *r, uint32_t level, struct smb_iconv_convenience *ic, int flags)
{
+ flags |= LIBNDR_FLAG_RELATIVE_REVERSE;
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_FormInfo, ic);
}
NDR_CHECK(ndr_push_unique_ptr(ndr, r->form_name));
NDR_CHECK(ndr_push_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_push_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->form_name) {
}
NDR_CHECK(ndr_pull_spoolss_FormSize(ndr, NDR_SCALARS, &r->size));
NDR_CHECK(ndr_pull_spoolss_FormArea(ndr, NDR_SCALARS, &r->area));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->form_name) {
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->ressource_id));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->display_name));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->lang_id));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->form_name) {
r->display_name = NULL;
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->lang_id));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->form_name) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info1));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t _ptr_info1;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->port_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->port_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_spoolss_PortType(ndr, NDR_SCALARS, r->port_type));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->reserved));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->port_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->description) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->description));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->description));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->description));
}
ndr->flags = _flags_save_string;
}
}
NDR_CHECK(ndr_pull_spoolss_PortType(ndr, NDR_SCALARS, &r->port_type));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->reserved));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->description, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->description));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_description_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_spoolss_PortSeverity(ndr, NDR_SCALARS, r->severity));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->status_string) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->status_string));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->status_string));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->status_string));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->status_string));
}
ndr->flags = _flags_save_string;
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_spoolss_PortSeverity(ndr, NDR_SCALARS, &r->severity));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->status_string, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->status_string));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_status_string_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->monitor_data));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->port_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->port_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->port_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->port_name));
}
ndr->flags = _flags_save_string;
}
ndr->flags = _flags_save_string;
}
NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->monitor_data));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->port_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->port_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_port_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PortInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PortInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- case 3: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
+ case 3: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
- case 0xff: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
- break; }
+ case 0xff: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- case 3:
- NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
- break;
+ case 3:
+ NDR_CHECK(ndr_push_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
- case 0xff:
- NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
- break;
+ case 0xff:
+ NDR_CHECK(ndr_push_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- case 3: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
- break; }
+ case 3: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_SCALARS, &r->info3));
+ break; }
- case 0xff: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
- break; }
+ case 0xff: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_SCALARS, &r->infoFF));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_PortInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_PortInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- case 3:
- NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
- break;
+ case 3:
+ NDR_CHECK(ndr_pull_spoolss_PortInfo3(ndr, NDR_BUFFERS, &r->info3));
+ break;
- case 0xff:
- NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
- break;
+ case 0xff:
+ NDR_CHECK(ndr_pull_spoolss_PortInfoFF(ndr, NDR_BUFFERS, &r->infoFF));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_PortInfo(struct ndr_print *ndr, const char *name, const union spoolss_PortInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_PortInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_PortInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_PortInfo1(ndr, "info1", &r->info1);
+ break;
- case 2:
- ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
- break;
+ case 2:
+ ndr_print_spoolss_PortInfo2(ndr, "info2", &r->info2);
+ break;
- case 3:
- ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3);
- break;
+ case 3:
+ ndr_print_spoolss_PortInfo3(ndr, "info3", &r->info3);
+ break;
- case 0xff:
- ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF);
- break;
+ case 0xff:
+ ndr_print_spoolss_PortInfoFF(ndr, "infoFF", &r->infoFF);
+ break;
- default:
- break;
+ default:
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->monitor_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dll_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->monitor_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->monitor_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->monitor_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->monitor_name));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->environment) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->environment));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->environment));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->environment));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->environment));
}
ndr->flags = _flags_save_string;
}
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->dll_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->dll_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dll_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dll_name));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->monitor_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->monitor_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_monitor_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->environment, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->environment));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_environment_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_PULL_SET_MEM_CTX(ndr, r->dll_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dll_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_MonitorInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_MonitorInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_push_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- case 2: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
- break; }
+ case 2: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_SCALARS, &r->info2));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_MonitorInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- case 2:
- NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
- break;
+ case 2:
+ NDR_CHECK(ndr_pull_spoolss_MonitorInfo2(ndr, NDR_BUFFERS, &r->info2));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_MonitorInfo(struct ndr_print *ndr, const char *name, const union spoolss_MonitorInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_MonitorInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_MonitorInfo1(ndr, "info1", &r->info1);
+ break;
- case 2:
- ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
- break;
+ case 2:
+ ndr_print_spoolss_MonitorInfo2(ndr, "info2", &r->info2);
+ break;
- default:
- break;
+ default:
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->name_array));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->name_array) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->name_array));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->name_array));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->name_array));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->name_array));
}
ndr->flags = _flags_save_string;
}
}
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
NDR_PULL_SET_MEM_CTX(ndr, r->name_array, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->name_array));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_array_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_PrintProcDataTypesInfo(struct ndr_push *ndr, int ndr_flags, const union spoolss_PrintProcDataTypesInfo *r)
{
uint32_t _save_relative_base_offset = ndr_push_get_relative_base_offset(ndr);
- if (ndr_flags & NDR_SCALARS) {
- int level = ndr_push_get_switch_value(ndr, r);
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
-
- default: {
- break; }
-
- }
- }
- if (ndr_flags & NDR_BUFFERS) {
- int level = ndr_push_get_switch_value(ndr, r);
- NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default:
- break;
+ default: {
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_push_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
+ default:
+ break;
+
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
{
uint32_t _save_relative_base_offset = ndr_pull_get_relative_base_offset(ndr);
int level;
- level = ndr_pull_get_switch_value(ndr, r);
- if (ndr_flags & NDR_SCALARS) {
- switch (level) {
- case 1: {
- NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
- NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
- break; }
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
+ switch (level) {
+ case 1: {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_setup_relative_base_offset1(ndr, r, ndr->offset));
+ NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_SCALARS, &r->info1));
+ break; }
- default: {
- break; }
+ default: {
+ break; }
+ }
}
- }
- if (ndr_flags & NDR_BUFFERS) {
- NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
- switch (level) {
- case 1:
- NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
- break;
+ if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
+ switch (level) {
+ case 1:
+ NDR_CHECK(ndr_pull_spoolss_PrintProcDataTypesInfo1(ndr, NDR_BUFFERS, &r->info1));
+ break;
- default:
- break;
+ default:
+ break;
+ }
}
+ ndr->flags = _flags_save_UNION;
}
ndr_pull_restore_relative_base_offset(ndr, _save_relative_base_offset);
return NDR_ERR_SUCCESS;
_PUBLIC_ void ndr_print_spoolss_PrintProcDataTypesInfo(struct ndr_print *ndr, const char *name, const union spoolss_PrintProcDataTypesInfo *r)
{
int level;
- level = ndr_print_get_switch_value(ndr, r);
- ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo");
- switch (level) {
- case 1:
- ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1);
- break;
+ {
+ uint32_t _flags_save_UNION = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_RELATIVE_REVERSE);
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_PrintProcDataTypesInfo");
+ switch (level) {
+ case 1:
+ ndr_print_spoolss_PrintProcDataTypesInfo1(ndr, "info1", &r->info1);
+ break;
- default:
- break;
+ default:
+ break;
+ }
+ ndr->flags = _flags_save_UNION;
}
}
{
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 2));
switch (level) {
case PRINTER_NOTIFY_TYPE: {
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->field));
int level;
level = ndr_pull_get_switch_value(ndr, r);
if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 2));
switch (level) {
case PRINTER_NOTIFY_TYPE: {
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->field));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->u3));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->fields));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->fields) {
} else {
r->fields = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->fields) {
NDR_CHECK(ndr_push_spoolssNotifyOptionFlags(ndr, NDR_SCALARS, r->flags));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->count));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->types));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->types) {
} else {
r->types = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->types) {
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->size));
NDR_CHECK(ndr_push_unique_ptr(ndr, r->string));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->string) {
} else {
r->string = NULL;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->string) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t cntr_integer_0;
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t cntr_integer_0;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->job_id));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->data, r->variable_type));
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->job_id));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->data, r->variable_type));
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_SCALARS, &r->data));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_spoolss_NotifyData(ndr, NDR_BUFFERS, &r->data));
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
NDR_CHECK(ndr_push_spoolss_Notify(ndr, NDR_SCALARS, &r->notifies[cntr_notifies_0]));
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
for (cntr_notifies_0 = 0; cntr_notifies_0 < r->count; cntr_notifies_0++) {
if (r->notifies) {
NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->notifies, r->count));
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
_mem_save_notifies_0 = NDR_PULL_GET_MEM_CTX(ndr);
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 0: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->info0));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 0: {
uint32_t _ptr_info0;
NDR_CHECK(ndr_push_spoolss_MajorVersion(ndr, NDR_SCALARS, r->major));
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->client) {
NDR_CHECK(ndr_pull_spoolss_MajorVersion(ndr, NDR_SCALARS, &r->major));
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->client) {
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 4));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->not_used));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 4));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->not_used));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_spoolss_MinorVersion(ndr, NDR_SCALARS, r->minor));
NDR_CHECK(ndr_push_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, r->processor));
NDR_CHECK(ndr_push_udlong(ndr, NDR_SCALARS, r->reserved));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->client) {
NDR_CHECK(ndr_pull_spoolss_MinorVersion(ndr, NDR_SCALARS, &r->minor));
NDR_CHECK(ndr_pull_spoolss_ProcessorArchitecture(ndr, NDR_SCALARS, &r->processor));
NDR_CHECK(ndr_pull_udlong(ndr, NDR_SCALARS, &r->reserved));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
if (r->client) {
if (ndr_flags & NDR_SCALARS) {
int level = ndr_push_get_switch_value(ndr, r);
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, level));
+ NDR_CHECK(ndr_push_union_align(ndr, 5));
switch (level) {
case 1: {
NDR_CHECK(ndr_push_unique_ptr(ndr, r->level1));
if (_level != level) {
return ndr_pull_error(ndr, NDR_ERR_BAD_SWITCH, "Bad switch value %u for r at %s", _level, __location__);
}
+ NDR_CHECK(ndr_pull_union_align(ndr, 5));
switch (level) {
case 1: {
uint32_t _ptr_level1;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->level));
NDR_CHECK(ndr_push_set_switch_value(ndr, &r->user_info, r->level));
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->level));
NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->user_info, r->level));
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_SCALARS, &r->user_info));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_spoolss_UserLevel(ndr, NDR_BUFFERS, &r->user_info));
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, r->type));
NDR_CHECK(ndr_push_relative_ptr1(ndr, r->data));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_size_spoolss_PrinterData(r->data, r->type, ndr->iconv_convenience, ndr->flags)));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_push_setup_relative_base_offset2(ndr, r));
uint32_t _flags_save_string = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
if (r->value_name) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->value_name));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->value_name));
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->value_name));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->value_name));
}
ndr->flags = _flags_save_string;
}
if (r->data) {
- NDR_CHECK(ndr_push_relative_ptr2(ndr, r->data));
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->data));
{
struct ndr_push *_ndr_data;
NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_data, 0, r->data_length));
NDR_CHECK(ndr_push_spoolss_PrinterData(_ndr_data, NDR_SCALARS|NDR_BUFFERS, r->data));
NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_data, 0, r->data_length));
}
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->data));
}
}
ndr_push_restore_relative_base_offset(ndr, _save_relative_base_offset);
r->data = NULL;
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->data_length));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
NDR_CHECK(ndr_pull_setup_relative_base_offset2(ndr, r));
NDR_PULL_SET_MEM_CTX(ndr, r->value_name, 0);
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->value_name));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_value_name_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
ndr->flags = _flags_save_string;
NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_data, 0, r->data_length));
}
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, 0);
+ if (ndr->offset > ndr->relative_highest_offset) {
+ ndr->relative_highest_offset = ndr->offset;
+ }
ndr->offset = _relative_save_offset;
}
}
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterEnumValues, ic);
}
+static enum ndr_err_code ndr_push_spoolss_KeyNames(struct ndr_push *ndr, int ndr_flags, const union spoolss_KeyNames *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ NDR_CHECK(ndr_push_union_align(ndr, 4));
+ switch (level) {
+ case 0: {
+ break; }
+
+ case 1: {
+ break; }
+
+ default: {
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_push_string_array(ndr, NDR_SCALARS, r->string_array));
+ ndr->flags = _flags_save_string_array;
+ }
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ int level = ndr_push_get_switch_value(ndr, r);
+ switch (level) {
+ case 0:
+ break;
+
+ case 1:
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_spoolss_KeyNames(struct ndr_pull *ndr, int ndr_flags, union spoolss_KeyNames *r)
+{
+ int level;
+ level = ndr_pull_get_switch_value(ndr, r);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_union_align(ndr, 4));
+ switch (level) {
+ case 0: {
+ break; }
+
+ case 1: {
+ break; }
+
+ default: {
+ {
+ uint32_t _flags_save_string_array = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
+ NDR_CHECK(ndr_pull_string_array(ndr, NDR_SCALARS, &r->string_array));
+ ndr->flags = _flags_save_string_array;
+ }
+ break; }
+
+ }
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ switch (level) {
+ case 0:
+ break;
+
+ case 1:
+ break;
+
+ default:
+ break;
+
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_spoolss_KeyNames(struct ndr_print *ndr, const char *name, const union spoolss_KeyNames *r)
+{
+ int level;
+ level = ndr_print_get_switch_value(ndr, r);
+ ndr_print_union(ndr, name, level, "spoolss_KeyNames");
+ switch (level) {
+ case 0:
+ break;
+
+ case 1:
+ break;
+
+ default:
+ ndr_print_string_array(ndr, "string_array", r->string_array);
+ break;
+
+ }
+}
+
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DeleteDriverFlags(struct ndr_push *ndr, int ndr_flags, uint32_t r)
{
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_number));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_number));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_enabled));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->snmp_dev_index));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->port_monitor_mib_index));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_enabled));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->snmp_dev_index));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->port_monitor_mib_index));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_string(ndr, NDR_SCALARS, r->dll_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_push_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_string(ndr, NDR_SCALARS, &r->dll_name));
ndr->flags = _flags_save_string;
}
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 4));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_push_NTTIME(ndr, NDR_SCALARS, r->driver_date));
NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->driver_version));
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->formname, 520, sizeof(uint8_t), CH_UTF8));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
}
NDR_CHECK(ndr_pull_NTTIME(ndr, NDR_SCALARS, &r->driver_date));
NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->driver_version));
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->formname, 520, sizeof(uint8_t), CH_UTF8));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 8));
}
if (ndr_flags & NDR_BUFFERS) {
}
ndr->depth--;
}
-static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterDataEx *r)
+_PUBLIC_ 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));
- if (r->in.buffer == 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.buffer, r->in.offered));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
+ NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.data));
+ 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));
- NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
- }
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
- if (r->in.buffer) {
- NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered));
+ {
+ 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_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_ptr(ndr, "buffer", r->in.buffer);
- ndr->depth++;
- ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered);
- ndr->depth--;
- ndr_print_uint32(ndr, "offered", r->in.offered);
+ 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->depth--;
}
if (flags & NDR_OUT) {
ndr->depth--;
}
-static enum ndr_err_code ndr_push_spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct spoolss_GetPrinterDataEx *r)
+_PUBLIC_ enum ndr_err_code ndr_push__spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct _spoolss_GetPrinterDataEx *r)
{
if (flags & NDR_IN) {
if (r->in.handle == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
NDR_CHECK(ndr_push_winreg_Type(ndr, NDR_SCALARS, *r->out.type));
- if (r->out.buffer == NULL) {
+ if (r->out.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->out.buffer, r->in.offered));
+ NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, *r->out.data));
if (r->out.needed == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
}
return NDR_ERR_SUCCESS;
}
-static enum ndr_err_code ndr_pull_spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct spoolss_GetPrinterDataEx *r)
+_PUBLIC_ enum ndr_err_code ndr_pull__spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct _spoolss_GetPrinterDataEx *r)
{
TALLOC_CTX *_mem_save_handle_0;
TALLOC_CTX *_mem_save_type_0;
+ TALLOC_CTX *_mem_save_data_0;
TALLOC_CTX *_mem_save_needed_0;
if (flags & NDR_IN) {
ZERO_STRUCT(r->out);
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
NDR_PULL_ALLOC(ndr, r->out.type);
ZERO_STRUCTP(r->out.type);
- NDR_PULL_ALLOC_N(ndr, r->out.buffer, r->in.offered);
- memset(r->out.buffer, 0, (r->in.offered) * sizeof(*r->out.buffer));
+ NDR_PULL_ALLOC(ndr, r->out.data);
+ ZERO_STRUCTP(r->out.data);
NDR_PULL_ALLOC(ndr, r->out.needed);
ZERO_STRUCTP(r->out.needed);
}
NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, r->out.type));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_array_size(ndr, &r->out.buffer));
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC_N(ndr, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer));
+ NDR_PULL_ALLOC(ndr, r->out.data);
}
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->out.buffer, ndr_get_array_size(ndr, &r->out.buffer)));
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, r->out.data));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.needed);
}
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.needed));
NDR_PULL_SET_MEM_CTX(ndr, _mem_save_needed_0, LIBNDR_FLAG_REF_ALLOC);
NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
- if (r->out.buffer) {
- NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->out.buffer, r->in.offered));
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_push___spoolss_GetPrinterDataEx(struct ndr_push *ndr, int flags, const struct __spoolss_GetPrinterDataEx *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;
+}
+
+_PUBLIC_ enum ndr_err_code ndr_pull___spoolss_GetPrinterDataEx(struct ndr_pull *ndr, int flags, struct __spoolss_GetPrinterDataEx *r)
+{
+ TALLOC_CTX *_mem_save_data_0;
+ if (flags & NDR_IN) {
+ ZERO_STRUCT(r->out);
+
+ NDR_CHECK(ndr_pull_winreg_Type(ndr, NDR_SCALARS, &r->in.type));
+ NDR_PULL_ALLOC(ndr, r->out.data);
+ ZERO_STRUCTP(r->out.data);
+ }
+ if (flags & NDR_OUT) {
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.data);
}
+ _mem_save_data_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.data, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_set_switch_value(ndr, r->out.data, r->in.type));
+ NDR_CHECK(ndr_pull_spoolss_PrinterData(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.data));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_data_0, LIBNDR_FLAG_REF_ALLOC);
}
return NDR_ERR_SUCCESS;
}
ndr->depth++;
ndr_print_winreg_Type(ndr, "type", *r->out.type);
ndr->depth--;
- ndr_print_ptr(ndr, "buffer", r->out.buffer);
+ ndr_print_ptr(ndr, "data", r->out.data);
ndr->depth++;
- ndr_print_array_uint8(ndr, "buffer", r->out.buffer, r->in.offered);
+ ndr_print_set_switch_value(ndr, r->out.data, *r->out.type);
+ ndr_print_spoolss_PrinterData(ndr, "data", r->out.data);
ndr->depth--;
ndr_print_ptr(ndr, "needed", r->out.needed);
ndr->depth++;
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
}
if (flags & NDR_OUT) {
+ if (r->out._ndr_size == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out._ndr_size));
+ if (r->out.key_buffer == NULL) {
+ return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+ }
{
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (r->out.key_buffer == NULL) {
- return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
- }
- NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.key_buffer));
- if (*r->out.key_buffer) {
- {
- struct ndr_push *_ndr_key_buffer;
- NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, r->in.offered));
- NDR_CHECK(ndr_push_string_array(_ndr_key_buffer, NDR_SCALARS, *r->out.key_buffer));
- NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, r->in.offered));
- }
- }
- ndr->flags = _flags_save_string_array;
+ struct ndr_push *_ndr_key_buffer;
+ NDR_CHECK(ndr_push_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
+ NDR_CHECK(ndr_push_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
+ NDR_CHECK(ndr_push_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
+ NDR_CHECK(ndr_push_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
}
if (r->out.needed == NULL) {
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_EnumPrinterKey(struct ndr_pull *ndr, int flags, struct spoolss_EnumPrinterKey *r)
{
- uint32_t _ptr_key_buffer;
TALLOC_CTX *_mem_save_handle_0;
+ TALLOC_CTX *_mem_save__ndr_size_0;
TALLOC_CTX *_mem_save_key_buffer_0;
- TALLOC_CTX *_mem_save_key_buffer_1;
TALLOC_CTX *_mem_save_needed_0;
if (flags & NDR_IN) {
ZERO_STRUCT(r->out);
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t)));
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.key_name, ndr_get_array_length(ndr, &r->in.key_name), sizeof(uint16_t), CH_UTF16));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
+ NDR_PULL_ALLOC(ndr, r->out._ndr_size);
+ ZERO_STRUCTP(r->out._ndr_size);
NDR_PULL_ALLOC(ndr, r->out.key_buffer);
ZERO_STRUCTP(r->out.key_buffer);
NDR_PULL_ALLOC(ndr, r->out.needed);
ZERO_STRUCTP(r->out.needed);
}
if (flags & NDR_OUT) {
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out._ndr_size);
+ }
+ _mem_save__ndr_size_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out._ndr_size, LIBNDR_FLAG_REF_ALLOC);
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out._ndr_size));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save__ndr_size_0, LIBNDR_FLAG_REF_ALLOC);
+ if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+ NDR_PULL_ALLOC(ndr, r->out.key_buffer);
+ }
+ _mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC);
{
- uint32_t _flags_save_string_array = ndr->flags;
- ndr_set_flags(&ndr->flags, LIBNDR_FLAG_STR_NULLTERM);
- if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
- NDR_PULL_ALLOC(ndr, r->out.key_buffer);
- }
- _mem_save_key_buffer_0 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, r->out.key_buffer, LIBNDR_FLAG_REF_ALLOC);
- NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_key_buffer));
- if (_ptr_key_buffer) {
- NDR_PULL_ALLOC(ndr, *r->out.key_buffer);
- } else {
- *r->out.key_buffer = NULL;
- }
- if (*r->out.key_buffer) {
- _mem_save_key_buffer_1 = NDR_PULL_GET_MEM_CTX(ndr);
- NDR_PULL_SET_MEM_CTX(ndr, *r->out.key_buffer, 0);
- {
- struct ndr_pull *_ndr_key_buffer;
- NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, r->in.offered));
- NDR_CHECK(ndr_pull_string_array(_ndr_key_buffer, NDR_SCALARS, r->out.key_buffer));
- NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, r->in.offered));
- }
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_1, 0);
- }
- NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC);
- ndr->flags = _flags_save_string_array;
+ struct ndr_pull *_ndr_key_buffer;
+ NDR_CHECK(ndr_pull_subcontext_start(ndr, &_ndr_key_buffer, 0, *r->out._ndr_size * 2));
+ NDR_CHECK(ndr_pull_set_switch_value(_ndr_key_buffer, r->out.key_buffer, *r->out._ndr_size));
+ NDR_CHECK(ndr_pull_spoolss_KeyNames(_ndr_key_buffer, NDR_SCALARS|NDR_BUFFERS, r->out.key_buffer));
+ NDR_CHECK(ndr_pull_subcontext_end(ndr, _ndr_key_buffer, 0, *r->out._ndr_size * 2));
}
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_key_buffer_0, LIBNDR_FLAG_REF_ALLOC);
if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
NDR_PULL_ALLOC(ndr, r->out.needed);
}
if (flags & NDR_OUT) {
ndr_print_struct(ndr, "out", "spoolss_EnumPrinterKey");
ndr->depth++;
- ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer);
- ndr->depth++;
- ndr_print_ptr(ndr, "key_buffer", *r->out.key_buffer);
+ ndr_print_ptr(ndr, "_ndr_size", r->out._ndr_size);
ndr->depth++;
- if (*r->out.key_buffer) {
- ndr_print_string_array(ndr, "key_buffer", *r->out.key_buffer);
- }
+ ndr_print_uint32(ndr, "_ndr_size", *r->out._ndr_size);
ndr->depth--;
+ ndr_print_ptr(ndr, "key_buffer", r->out.key_buffer);
+ ndr->depth++;
+ ndr_print_set_switch_value(ndr, r->out.key_buffer, *r->out._ndr_size);
+ ndr_print_spoolss_KeyNames(ndr, "key_buffer", r->out.key_buffer);
ndr->depth--;
ndr_print_ptr(ndr, "needed", r->out.needed);
ndr->depth++;