mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
rap: add rap_NetPrintQGetInfo to IDL.
Guenther
This commit is contained in:
parent
2a9e8e348a
commit
169b72dce4
@ -2018,3 +2018,81 @@ _PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_push_rap_NetPrintQGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintQGetInfo *r)
|
||||
{
|
||||
if (flags & NDR_IN) {
|
||||
if (r->in.PrintQueueName == NULL) {
|
||||
return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
|
||||
}
|
||||
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.PrintQueueName, CH_DOS)));
|
||||
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
|
||||
NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->in.PrintQueueName, CH_DOS)));
|
||||
NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.PrintQueueName, ndr_charset_length(r->in.PrintQueueName, CH_DOS), sizeof(uint8_t), CH_DOS));
|
||||
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_uint16(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_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ enum ndr_err_code ndr_pull_rap_NetPrintQGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintQGetInfo *r)
|
||||
{
|
||||
if (flags & NDR_IN) {
|
||||
ZERO_STRUCT(r->out);
|
||||
|
||||
NDR_CHECK(ndr_pull_array_size(ndr, &r->in.PrintQueueName));
|
||||
NDR_CHECK(ndr_pull_array_length(ndr, &r->in.PrintQueueName));
|
||||
if (ndr_get_array_length(ndr, &r->in.PrintQueueName) > ndr_get_array_size(ndr, &r->in.PrintQueueName)) {
|
||||
return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.PrintQueueName), ndr_get_array_length(ndr, &r->in.PrintQueueName));
|
||||
}
|
||||
NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.PrintQueueName), sizeof(uint8_t)));
|
||||
NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.PrintQueueName, ndr_get_array_length(ndr, &r->in.PrintQueueName), sizeof(uint8_t), CH_DOS));
|
||||
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_uint16(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_printq_info(ndr, NDR_SCALARS|NDR_BUFFERS, &r->out.info));
|
||||
}
|
||||
return NDR_ERR_SUCCESS;
|
||||
}
|
||||
|
||||
_PUBLIC_ void ndr_print_rap_NetPrintQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQGetInfo *r)
|
||||
{
|
||||
ndr_print_struct(ndr, name, "rap_NetPrintQGetInfo");
|
||||
ndr->depth++;
|
||||
if (flags & NDR_SET_VALUES) {
|
||||
ndr->flags |= LIBNDR_PRINT_SET_VALUES;
|
||||
}
|
||||
if (flags & NDR_IN) {
|
||||
ndr_print_struct(ndr, "in", "rap_NetPrintQGetInfo");
|
||||
ndr->depth++;
|
||||
ndr_print_ptr(ndr, "PrintQueueName", r->in.PrintQueueName);
|
||||
ndr->depth++;
|
||||
ndr_print_string(ndr, "PrintQueueName", r->in.PrintQueueName);
|
||||
ndr->depth--;
|
||||
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_NetPrintQGetInfo");
|
||||
ndr->depth++;
|
||||
ndr_print_uint16(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_printq_info(ndr, "info", &r->out.info);
|
||||
ndr->depth--;
|
||||
}
|
||||
ndr->depth--;
|
||||
}
|
||||
|
@ -15,7 +15,9 @@
|
||||
|
||||
#define NDR_RAP_NETPRINTQENUM (0x03)
|
||||
|
||||
#define NDR_RAP_CALL_COUNT (4)
|
||||
#define NDR_RAP_NETPRINTQGETINFO (0x04)
|
||||
|
||||
#define NDR_RAP_CALL_COUNT (5)
|
||||
void ndr_print_rap_share_info_0(struct ndr_print *ndr, const char *name, const struct rap_share_info_0 *r);
|
||||
void ndr_print_rap_share_info_1(struct ndr_print *ndr, const char *name, const struct rap_share_info_1 *r);
|
||||
void ndr_print_rap_share_info_2(struct ndr_print *ndr, const char *name, const struct rap_share_info_2 *r);
|
||||
@ -49,4 +51,7 @@ void ndr_print_rap_WserverGetInfo(struct ndr_print *ndr, const char *name, int f
|
||||
enum ndr_err_code ndr_push_rap_NetPrintQEnum(struct ndr_push *ndr, int flags, const struct rap_NetPrintQEnum *r);
|
||||
enum ndr_err_code ndr_pull_rap_NetPrintQEnum(struct ndr_pull *ndr, int flags, struct rap_NetPrintQEnum *r);
|
||||
void ndr_print_rap_NetPrintQEnum(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQEnum *r);
|
||||
enum ndr_err_code ndr_push_rap_NetPrintQGetInfo(struct ndr_push *ndr, int flags, const struct rap_NetPrintQGetInfo *r);
|
||||
enum ndr_err_code ndr_pull_rap_NetPrintQGetInfo(struct ndr_pull *ndr, int flags, struct rap_NetPrintQGetInfo *r);
|
||||
void ndr_print_rap_NetPrintQGetInfo(struct ndr_print *ndr, const char *name, int flags, const struct rap_NetPrintQGetInfo *r);
|
||||
#endif /* _HEADER_NDR_rap */
|
||||
|
@ -660,4 +660,21 @@ struct rap_NetPrintQEnum {
|
||||
|
||||
};
|
||||
|
||||
|
||||
struct rap_NetPrintQGetInfo {
|
||||
struct {
|
||||
const char *PrintQueueName;/* [ref,charset(DOS)] */
|
||||
uint16_t level;
|
||||
uint16_t bufsize;
|
||||
} in;
|
||||
|
||||
struct {
|
||||
uint16_t status;
|
||||
uint16_t convert;
|
||||
uint16_t available;
|
||||
union rap_printq_info info;/* [switch_is(level)] */
|
||||
} out;
|
||||
|
||||
};
|
||||
|
||||
#endif /* _HEADER_rap */
|
||||
|
@ -554,6 +554,16 @@ interface rap
|
||||
[out,switch_is(level)] rap_printq_info *info
|
||||
);
|
||||
|
||||
[public] void rap_NetPrintQGetInfo(
|
||||
[in] [string,charset(DOS)] uint8 *PrintQueueName,
|
||||
[in] uint16 level,
|
||||
[in] uint16 bufsize,
|
||||
[out] uint16 status,
|
||||
[out] uint16 convert,
|
||||
[out] uint16 available,
|
||||
[out,switch_is(level)] rap_printq_info info
|
||||
);
|
||||
|
||||
/* Parameter description strings for RAP calls */
|
||||
/* Names are defined name for RAP call with _REQ */
|
||||
/* appended to end. */
|
||||
|
Loading…
Reference in New Issue
Block a user