diff options
-rw-r--r-- | librpc/gen_ndr/ndr_rap.c | 64 | ||||
-rw-r--r-- | librpc/gen_ndr/ndr_rap.h | 7 | ||||
-rw-r--r-- | librpc/gen_ndr/rap.h | 17 |
3 files changed, 87 insertions, 1 deletions
diff --git a/librpc/gen_ndr/ndr_rap.c b/librpc/gen_ndr/ndr_rap.c index f7b8652fe4..a0e3c1fef0 100644 --- a/librpc/gen_ndr/ndr_rap.c +++ b/librpc/gen_ndr/ndr_rap.c @@ -3976,3 +3976,67 @@ _PUBLIC_ void ndr_print_rap_NetPrintJobEnum(struct ndr_print *ndr, const char *n ndr->depth--; } +_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintJobGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobGetInfo *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.JobID)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.level)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->in.bufsize)); + } + if (flags & NDR_OUT) { + NDR_CHECK(ndr_push_rap_status(ndr, NDR_SCALARS, r->out.status)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.convert)); + NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->out.available)); + NDR_CHECK(ndr_push_set_switch_value(ndr, &r->out.info, r->in.level)); + NDR_CHECK(ndr_push_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintJobGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobGetInfo *r) +{ + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.JobID)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.level)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->in.bufsize)); + } + if (flags & NDR_OUT) { + NDR_CHECK(ndr_pull_rap_status(ndr, NDR_SCALARS, &r->out.status)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.convert)); + NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->out.available)); + NDR_CHECK(ndr_pull_set_switch_value(ndr, &r->out.info, r->in.level)); + NDR_CHECK(ndr_pull_rap_printj_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_rap_NetPrintJobGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobGetInfo *r) +{ + ndr_print_struct(ndr, name, "rap_NetPrintJobGetInfo"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "rap_NetPrintJobGetInfo"); + ndr->depth++; + ndr_print_uint16(ndr, "JobID", r->in.JobID); + ndr_print_uint16(ndr, "level", r->in.level); + ndr_print_uint16(ndr, "bufsize", r->in.bufsize); + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "rap_NetPrintJobGetInfo"); + ndr->depth++; + ndr_print_rap_status(ndr, "status", r->out.status); + ndr_print_uint16(ndr, "convert", r->out.convert); + ndr_print_uint16(ndr, "available", r->out.available); + ndr_print_set_switch_value(ndr, &r->out.info, r->in.level); + ndr_print_rap_printj_info(ndr, "info", &r->out.info); + ndr->depth--; + } + ndr->depth--; +} + diff --git a/librpc/gen_ndr/ndr_rap.h b/librpc/gen_ndr/ndr_rap.h index 6cd790176f..6ccaf762a7 100644 --- a/librpc/gen_ndr/ndr_rap.h +++ b/librpc/gen_ndr/ndr_rap.h @@ -31,7 +31,9 @@ #define NDR_RAP_NETPRINTJOBENUM (0x0b) -#define NDR_RAP_CALL_COUNT (12) +#define NDR_RAP_NETPRINTJOBGETINFO (0x0c) + +#define NDR_RAP_CALL_COUNT (13) enum ndr_err_code ndr_push_rap_status(struct ndr_push *ndr, int ndr_flags, enum rap_status r); enum ndr_err_code ndr_pull_rap_status(struct ndr_pull *ndr, int ndr_flags, enum rap_status *r); void ndr_print_rap_status(struct ndr_print *ndr, const char *name, enum rap_status r); @@ -102,4 +104,7 @@ void ndr_print_rap_NetPrintQueuePurge(struct ndr_print *ndr, const char *name, i enum ndr_err_code ndr_push_rap_NetPrintJobEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobEnum *r); enum ndr_err_code ndr_pull_rap_NetPrintJobEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobEnum *r); void ndr_print_rap_NetPrintJobEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobEnum *r); +enum ndr_err_code ndr_push_rap_NetPrintJobGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintJobGetInfo *r); +enum ndr_err_code ndr_pull_rap_NetPrintJobGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintJobGetInfo *r); +void ndr_print_rap_NetPrintJobGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintJobGetInfo *r); #endif /* _HEADER_NDR_rap */ diff --git a/librpc/gen_ndr/rap.h b/librpc/gen_ndr/rap.h index e20a569b97..3d93b4ee1b 100644 --- a/librpc/gen_ndr/rap.h +++ b/librpc/gen_ndr/rap.h @@ -792,4 +792,21 @@ struct rap_NetPrintJobEnum { }; + +struct rap_NetPrintJobGetInfo { + struct { + uint16_t JobID; + uint16_t level; + uint16_t bufsize; + } in; + + struct { + enum rap_status status; + uint16_t convert; + uint16_t available; + union rap_printj_info info;/* [switch_is(level)] */ + } out; + +}; + #endif /* _HEADER_rap */ |