ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_push_spoolss_PrinterAttributes(ndr, NDR_SCALARS, r->attributes));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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_spoolss_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;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
if (_ptr_secdesc) {
} else {
r->secdesc = NULL;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_PrinterAttributes(ndr, NDR_SCALARS, &r->attributes));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
if (r->secdesc) {
uint32_t _relative_save_offset;
{
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_spoolss_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);
}
ndr->offset = _relative_save_offset;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr_print_ptr(ndr, "secdesc", r->secdesc);
ndr->depth++;
if (r->secdesc) {
- ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
+ ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
}
ndr->depth--;
ndr_print_spoolss_PrinterAttributes(ndr, "attributes", r->attributes);
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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_spoolss_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;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
if (_ptr_secdesc) {
} else {
r->secdesc = NULL;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
if (r->secdesc) {
uint32_t _relative_save_offset;
{
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_spoolss_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);
}
ndr->offset = _relative_save_offset;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr_print_ptr(ndr, "secdesc", r->secdesc);
ndr->depth++;
if (r->secdesc) {
- ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
+ ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
}
ndr->depth--;
ndr->depth--;
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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_spoolss_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;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
if (_ptr_secdesc) {
} else {
r->secdesc = NULL;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
if (r->secdesc) {
uint32_t _relative_save_offset;
{
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_spoolss_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);
}
ndr->offset = _relative_save_offset;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr_print_ptr(ndr, "secdesc", r->secdesc);
ndr->depth++;
if (r->secdesc) {
- ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
+ ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
}
ndr->depth--;
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_push_spoolss_JobStatus(ndr, NDR_SCALARS, r->status));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_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_spoolss_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;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_secdesc));
if (_ptr_secdesc) {
} else {
r->secdesc = NULL;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
NDR_CHECK(ndr_pull_spoolss_JobStatus(ndr, NDR_SCALARS, &r->status));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->priority));
ndr->flags = _flags_save_string;
}
{
- uint32_t _flags_save_security_descriptor = ndr->flags;
+ uint32_t _flags_save_spoolss_security_descriptor = ndr->flags;
ndr_set_flags(&ndr->flags, LIBNDR_FLAG_ALIGN4);
if (r->secdesc) {
uint32_t _relative_save_offset;
{
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_spoolss_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);
}
ndr->offset = _relative_save_offset;
}
- ndr->flags = _flags_save_security_descriptor;
+ ndr->flags = _flags_save_spoolss_security_descriptor;
}
}
return NDR_ERR_SUCCESS;
ndr_print_ptr(ndr, "secdesc", r->secdesc);
ndr->depth++;
if (r->secdesc) {
- ndr_print_security_descriptor(ndr, "secdesc", r->secdesc);
+ ndr_print_spoolss_security_descriptor(ndr, "secdesc", r->secdesc);
}
ndr->depth--;
ndr_print_spoolss_JobStatus(ndr, "status", r->status);
#include "includes.h"
#include "librpc/gen_ndr/ndr_spoolss.h"
+#include "librpc/gen_ndr/ndr_security.h"
#if (_SAMBA_BUILD_ >= 4)
#include "param/param.h"
#endif
return ndr_size_union(r, flags, level, (ndr_push_flags_fn_t)ndr_push_spoolss_PrinterData, ic);
}
+void ndr_print_spoolss_security_descriptor(struct ndr_print *ndr, const char *name, const struct security_descriptor *r)
+{
+ ndr_print_security_descriptor(ndr, name, r);
+}
+
+enum ndr_err_code ndr_pull_spoolss_security_descriptor(struct ndr_pull *ndr, int ndr_flags, struct security_descriptor *r)
+{
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_NO_RELATIVE_REVERSE);
+ NDR_CHECK(ndr_pull_security_descriptor(ndr, ndr_flags, r));
+ ndr->flags = _flags_save_STRUCT;
+ return NDR_ERR_SUCCESS;
+}
+
+enum ndr_err_code ndr_push_spoolss_security_descriptor(struct ndr_push *ndr, int ndr_flags, const struct security_descriptor *r)
+{
+ {
+ uint32_t _flags_save_STRUCT = ndr->flags;
+ ndr_set_flags(&ndr->flags, LIBNDR_FLAG_LITTLE_ENDIAN|LIBNDR_FLAG_NO_RELATIVE_REVERSE);
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_security_descriptor_revision(ndr, NDR_SCALARS, r->revision));
+ NDR_CHECK(ndr_push_security_descriptor_type(ndr, NDR_SCALARS, r->type));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->owner_sid));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->group_sid));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->sacl));
+ NDR_CHECK(ndr_push_relative_ptr1(ndr, r->dacl));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->sacl) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->sacl));
+ NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->sacl));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->sacl));
+ }
+ if (r->dacl) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->dacl));
+ NDR_CHECK(ndr_push_security_acl(ndr, NDR_SCALARS|NDR_BUFFERS, r->dacl));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->dacl));
+ }
+ if (r->owner_sid) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->owner_sid));
+ NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->owner_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->owner_sid));
+ }
+ if (r->group_sid) {
+ NDR_CHECK(ndr_push_relative_ptr2_start(ndr, r->group_sid));
+ NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->group_sid));
+ NDR_CHECK(ndr_push_relative_ptr2_end(ndr, r->group_sid));
+ }
+ }
+ ndr->flags = _flags_save_STRUCT;
+ }
+ return NDR_ERR_SUCCESS;
+}