[SCM] Samba Shared Repository - branch master updated
Günther Deschner
gd at samba.org
Thu Apr 29 17:27:23 MDT 2010
The branch, master has been updated
via 6156a4b... s4-smbtorture: test all levels in test_netprintqgetinfo and test_netprintqenum.
via e8aaf40... s4-smbtorture: add rap_pull_rap_PrintQueue4.
via e85824d... s4-smbtorture: add rap_pull_rap_PrintQueue2.
via e13f2ed... s3: re-run make samba3-idl.
via 7dd67f6... rap: fill in rap_PrintQueue4 IDL.
via 131c51d... s3: re-run make samba3-idl.
via 696e554... rap: fix jobinfo IDL.
via 9d9fc4c... s4-smbtorture: fix parsing of rap_pull_rap_PrintQueue1 and rap_pull_rap_PrintQueue2.
via 1cb7b8d... s3: re-run make samba3-idl.
via 4fc3aef... rap: fix some rap_PrintQueue IDL structures.
via 37901bb... s4-smbtorture: add test_netprintjob() to RAP-PRINTING.
from 1f69a7a... Attempt to fix bug #7399 - SMB2: QUERY_DIRECTORY is returning invalid values.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 6156a4b73b6cb90bb31d927f0c07e6d53442481b
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:26:12 2010 +0200
s4-smbtorture: test all levels in test_netprintqgetinfo and test_netprintqenum.
Guenther
commit e8aaf4087b10a5aa88f3a3d2810a6a332fa2697e
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:24:20 2010 +0200
s4-smbtorture: add rap_pull_rap_PrintQueue4.
Guenther
commit e85824d9170644493e839c1ac2a82f7bd8345994
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:23:53 2010 +0200
s4-smbtorture: add rap_pull_rap_PrintQueue2.
Guenther
commit e13f2ed296f8f0432fb2f5035f724c4ad917f42c
Author: Günther Deschner <gd at samba.org>
Date: Fri Apr 30 01:20:34 2010 +0200
s3: re-run make samba3-idl.
Guenther
commit 7dd67f6d035c827f3917f3ddcb056ec43fe37cb1
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:21:59 2010 +0200
rap: fill in rap_PrintQueue4 IDL.
Guenther
commit 131c51db382ddbeff61492f9b82b4bc283a9b0b3
Author: Günther Deschner <gd at samba.org>
Date: Fri Apr 30 01:19:53 2010 +0200
s3: re-run make samba3-idl.
Guenther
commit 696e554e80a8ac9b3caea6c1afead14d1555ee95
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:20:07 2010 +0200
rap: fix jobinfo IDL.
Guenther
commit 9d9fc4cfe7f058baaf7d251a4d468d72e681e62c
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:21:40 2010 +0200
s4-smbtorture: fix parsing of rap_pull_rap_PrintQueue1 and rap_pull_rap_PrintQueue2.
Guenther
commit 1cb7b8ded66e0f9a7204b850ca2132d1392dfc6e
Author: Günther Deschner <gd at samba.org>
Date: Fri Apr 30 01:19:20 2010 +0200
s3: re-run make samba3-idl.
Guenther
commit 4fc3aefc518af94de8c985ad177ff70c5df229ad
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:20:56 2010 +0200
rap: fix some rap_PrintQueue IDL structures.
Guenther
commit 37901bb96a7436f9b34e198d7de0b754b09612da
Author: Günther Deschner <gd at samba.org>
Date: Thu Apr 29 19:24:50 2010 +0200
s4-smbtorture: add test_netprintjob() to RAP-PRINTING.
Guenther
-----------------------------------------------------------------------
Summary of changes:
librpc/gen_ndr/ndr_rap.c | 226 ++++++++++++++++++++++++++++++++++++----
librpc/gen_ndr/ndr_rap.h | 1 +
librpc/gen_ndr/rap.h | 19 ++--
librpc/idl/rap.idl | 18 ++--
source4/torture/rap/printing.c | 74 +++++++++++++-
source4/torture/rap/rap.c | 66 +++++++++++-
6 files changed, 361 insertions(+), 43 deletions(-)
Changeset truncated at 500 lines:
diff --git a/librpc/gen_ndr/ndr_rap.c b/librpc/gen_ndr/ndr_rap.c
index 1488b34..c1a3889 100644
--- a/librpc/gen_ndr/ndr_rap.c
+++ b/librpc/gen_ndr/ndr_rap.c
@@ -562,17 +562,17 @@ static enum ndr_err_code ndr_push_rap_PrintJobInfo1(struct ndr_push *ndr, int nd
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
- NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->UserName, 21));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->UserName, 21, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad));
- NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->NotifyName, 16));
- NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->DataType, 10));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->NotifyName, 16, sizeof(uint8_t), CH_DOS));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DataType, 10, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->PrintParameterString));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->PrintParameterStringHigh));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobStatusString));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobStatusStringHigh));
- NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->TimeSubmitted));
+ NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
@@ -615,10 +615,10 @@ static enum ndr_err_code ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int nd
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->UserName, 21));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->UserName, 21, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad));
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->NotifyName, 16));
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->DataType, 10));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->NotifyName, 16, sizeof(uint8_t), CH_DOS));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DataType, 10, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_PrintParameterString));
if (_ptr_PrintParameterString) {
NDR_PULL_ALLOC(ndr, r->PrintParameterString);
@@ -637,7 +637,7 @@ static enum ndr_err_code ndr_pull_rap_PrintJobInfo1(struct ndr_pull *ndr, int nd
r->JobStatusString = NULL;
}
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobStatusStringHigh));
- NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->TimeSubmitted));
+ NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
if (_ptr_JobCommentString) {
@@ -704,10 +704,10 @@ _PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *nam
ndr_print_struct(ndr, name, "rap_PrintJobInfo1");
ndr->depth++;
ndr_print_uint16(ndr, "JobID", r->JobID);
- ndr_print_array_uint8(ndr, "UserName", r->UserName, 21);
+ ndr_print_string(ndr, "UserName", r->UserName);
ndr_print_uint8(ndr, "Pad", r->Pad);
- ndr_print_array_uint8(ndr, "NotifyName", r->NotifyName, 16);
- ndr_print_array_uint8(ndr, "DataType", r->DataType, 10);
+ ndr_print_string(ndr, "NotifyName", r->NotifyName);
+ ndr_print_string(ndr, "DataType", r->DataType);
ndr_print_ptr(ndr, "PrintParameterString", r->PrintParameterString);
ndr->depth++;
if (r->PrintParameterString) {
@@ -724,7 +724,7 @@ _PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *nam
}
ndr->depth--;
ndr_print_uint16(ndr, "JobStatusStringHigh", r->JobStatusStringHigh);
- ndr_print_uint32(ndr, "TimeSubmitted", r->TimeSubmitted);
+ ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted);
ndr_print_uint32(ndr, "JobSize", r->JobSize);
ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
ndr->depth++;
@@ -736,6 +736,176 @@ _PUBLIC_ void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *nam
ndr->depth--;
}
+static enum ndr_err_code ndr_push_rap_PrintJobInfo2(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintJobInfo2 *r)
+{
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobID));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
+ NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->UserName));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->UserNameHigh));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobPosition));
+ NDR_CHECK(ndr_push_rap_PrintJStatusCode(ndr, NDR_SCALARS, r->JobStatus));
+ NDR_CHECK(ndr_push_time_t(ndr, NDR_SCALARS, r->TimeSubmitted));
+ NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->JobSize));
+ NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->JobCommentString));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->JobCommentStringHigh));
+ NDR_CHECK(ndr_push_short_relative_ptr1(ndr, r->DocumentName));
+ NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->DocumentNameHigh));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->UserName) {
+ NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->UserName));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->UserName, CH_DOS)));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->UserName, CH_DOS)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->UserName, ndr_charset_length(r->UserName, CH_DOS), sizeof(uint8_t), CH_DOS));
+ }
+ if (r->JobCommentString) {
+ NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->JobCommentString));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobCommentString, CH_DOS)));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->JobCommentString, CH_DOS)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->JobCommentString, ndr_charset_length(r->JobCommentString, CH_DOS), sizeof(uint8_t), CH_DOS));
+ }
+ if (r->DocumentName) {
+ NDR_CHECK(ndr_push_short_relative_ptr2(ndr, r->DocumentName));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->DocumentName, CH_DOS)));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, 0));
+ NDR_CHECK(ndr_push_uint3264(ndr, NDR_SCALARS, ndr_charset_length(r->DocumentName, CH_DOS)));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->DocumentName, ndr_charset_length(r->DocumentName, CH_DOS), sizeof(uint8_t), CH_DOS));
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+static enum ndr_err_code ndr_pull_rap_PrintJobInfo2(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintJobInfo2 *r)
+{
+ uint16_t _ptr_UserName;
+ TALLOC_CTX *_mem_save_UserName_0;
+ uint16_t _ptr_JobCommentString;
+ TALLOC_CTX *_mem_save_JobCommentString_0;
+ uint16_t _ptr_DocumentName;
+ TALLOC_CTX *_mem_save_DocumentName_0;
+ if (ndr_flags & NDR_SCALARS) {
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobID));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
+ NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_UserName));
+ if (_ptr_UserName) {
+ NDR_PULL_ALLOC(ndr, r->UserName);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->UserName, _ptr_UserName));
+ } else {
+ r->UserName = NULL;
+ }
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->UserNameHigh));
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobPosition));
+ NDR_CHECK(ndr_pull_rap_PrintJStatusCode(ndr, NDR_SCALARS, &r->JobStatus));
+ NDR_CHECK(ndr_pull_time_t(ndr, NDR_SCALARS, &r->TimeSubmitted));
+ NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->JobSize));
+ NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_JobCommentString));
+ if (_ptr_JobCommentString) {
+ NDR_PULL_ALLOC(ndr, r->JobCommentString);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->JobCommentString, _ptr_JobCommentString));
+ } else {
+ r->JobCommentString = NULL;
+ }
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->JobCommentStringHigh));
+ NDR_CHECK(ndr_pull_relative_ptr_short(ndr, &_ptr_DocumentName));
+ if (_ptr_DocumentName) {
+ NDR_PULL_ALLOC(ndr, r->DocumentName);
+ NDR_CHECK(ndr_pull_relative_ptr1(ndr, r->DocumentName, _ptr_DocumentName));
+ } else {
+ r->DocumentName = NULL;
+ }
+ NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->DocumentNameHigh));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
+ }
+ if (ndr_flags & NDR_BUFFERS) {
+ if (r->UserName) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->UserName));
+ _mem_save_UserName_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->UserName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->UserName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->UserName));
+ if (ndr_get_array_length(ndr, &r->UserName) > ndr_get_array_size(ndr, &r->UserName)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->UserName), ndr_get_array_length(ndr, &r->UserName));
+ }
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->UserName), sizeof(uint8_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->UserName, ndr_get_array_length(ndr, &r->UserName), sizeof(uint8_t), CH_DOS));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_UserName_0, 0);
+ }
+ if (r->JobCommentString) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->JobCommentString));
+ _mem_save_JobCommentString_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->JobCommentString, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->JobCommentString));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->JobCommentString));
+ if (ndr_get_array_length(ndr, &r->JobCommentString) > ndr_get_array_size(ndr, &r->JobCommentString)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->JobCommentString), ndr_get_array_length(ndr, &r->JobCommentString));
+ }
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->JobCommentString), sizeof(uint8_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->JobCommentString, ndr_get_array_length(ndr, &r->JobCommentString), sizeof(uint8_t), CH_DOS));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_JobCommentString_0, 0);
+ }
+ if (r->DocumentName) {
+ uint32_t _relative_save_offset;
+ _relative_save_offset = ndr->offset;
+ NDR_CHECK(ndr_pull_relative_ptr2(ndr, r->DocumentName));
+ _mem_save_DocumentName_0 = NDR_PULL_GET_MEM_CTX(ndr);
+ NDR_PULL_SET_MEM_CTX(ndr, r->DocumentName, 0);
+ NDR_CHECK(ndr_pull_array_size(ndr, &r->DocumentName));
+ NDR_CHECK(ndr_pull_array_length(ndr, &r->DocumentName));
+ if (ndr_get_array_length(ndr, &r->DocumentName) > ndr_get_array_size(ndr, &r->DocumentName)) {
+ return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->DocumentName), ndr_get_array_length(ndr, &r->DocumentName));
+ }
+ NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->DocumentName), sizeof(uint8_t)));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->DocumentName, ndr_get_array_length(ndr, &r->DocumentName), sizeof(uint8_t), CH_DOS));
+ NDR_PULL_SET_MEM_CTX(ndr, _mem_save_DocumentName_0, 0);
+ }
+ }
+ return NDR_ERR_SUCCESS;
+}
+
+_PUBLIC_ void ndr_print_rap_PrintJobInfo2(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo2 *r)
+{
+ ndr_print_struct(ndr, name, "rap_PrintJobInfo2");
+ ndr->depth++;
+ ndr_print_uint16(ndr, "JobID", r->JobID);
+ ndr_print_uint16(ndr, "Priority", r->Priority);
+ ndr_print_ptr(ndr, "UserName", r->UserName);
+ ndr->depth++;
+ if (r->UserName) {
+ ndr_print_string(ndr, "UserName", r->UserName);
+ }
+ ndr->depth--;
+ ndr_print_uint16(ndr, "UserNameHigh", r->UserNameHigh);
+ ndr_print_uint16(ndr, "JobPosition", r->JobPosition);
+ ndr_print_rap_PrintJStatusCode(ndr, "JobStatus", r->JobStatus);
+ ndr_print_time_t(ndr, "TimeSubmitted", r->TimeSubmitted);
+ ndr_print_uint32(ndr, "JobSize", r->JobSize);
+ ndr_print_ptr(ndr, "JobCommentString", r->JobCommentString);
+ ndr->depth++;
+ if (r->JobCommentString) {
+ ndr_print_string(ndr, "JobCommentString", r->JobCommentString);
+ }
+ ndr->depth--;
+ ndr_print_uint16(ndr, "JobCommentStringHigh", r->JobCommentStringHigh);
+ ndr_print_ptr(ndr, "DocumentName", r->DocumentName);
+ ndr->depth++;
+ if (r->DocumentName) {
+ ndr_print_string(ndr, "DocumentName", r->DocumentName);
+ }
+ ndr->depth--;
+ ndr_print_uint16(ndr, "DocumentNameHigh", r->DocumentNameHigh);
+ ndr->depth--;
+}
+
_PUBLIC_ enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r)
{
NDR_CHECK(ndr_push_enum_uint1632(ndr, NDR_SCALARS, r));
@@ -767,7 +937,7 @@ static enum ndr_err_code ndr_push_rap_PrintQueue0(struct ndr_push *ndr, int ndr_
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 1));
- NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_push_trailer_align(ndr, 1));
}
if (ndr_flags & NDR_BUFFERS) {
@@ -779,7 +949,7 @@ static enum ndr_err_code ndr_pull_rap_PrintQueue0(struct ndr_pull *ndr, int ndr_
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 1));
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
}
if (ndr_flags & NDR_BUFFERS) {
@@ -791,7 +961,7 @@ _PUBLIC_ void ndr_print_rap_PrintQueue0(struct ndr_print *ndr, const char *name,
{
ndr_print_struct(ndr, name, "rap_PrintQueue0");
ndr->depth++;
- ndr_print_array_uint8(ndr, "PrintQName", r->PrintQName, 13);
+ ndr_print_string(ndr, "PrintQName", r->PrintQName);
ndr->depth--;
}
@@ -799,7 +969,7 @@ static enum ndr_err_code ndr_push_rap_PrintQueue1(struct ndr_push *ndr, int ndr_
{
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_push_align(ndr, 5));
- NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
+ NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_push_uint8(ndr, NDR_SCALARS, r->Pad1));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->Priority));
NDR_CHECK(ndr_push_uint16(ndr, NDR_SCALARS, r->StartTime));
@@ -872,7 +1042,7 @@ static enum ndr_err_code ndr_pull_rap_PrintQueue1(struct ndr_pull *ndr, int ndr_
TALLOC_CTX *_mem_save_CommentString_0;
if (ndr_flags & NDR_SCALARS) {
NDR_CHECK(ndr_pull_align(ndr, 5));
- NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->PrintQName, 13));
+ NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->PrintQName, 13, sizeof(uint8_t), CH_DOS));
NDR_CHECK(ndr_pull_uint8(ndr, NDR_SCALARS, &r->Pad1));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->Priority));
NDR_CHECK(ndr_pull_uint16(ndr, NDR_SCALARS, &r->StartTime));
@@ -1005,7 +1175,7 @@ _PUBLIC_ void ndr_print_rap_PrintQueue1(struct ndr_print *ndr, const char *name,
{
ndr_print_struct(ndr, name, "rap_PrintQueue1");
ndr->depth++;
- ndr_print_array_uint8(ndr, "PrintQName", r->PrintQName, 13);
+ ndr_print_string(ndr, "PrintQName", r->PrintQName);
ndr_print_uint8(ndr, "Pad1", r->Pad1);
ndr_print_uint16(ndr, "Priority", r->Priority);
ndr_print_uint16(ndr, "StartTime", r->StartTime);
@@ -1467,10 +1637,14 @@ _PUBLIC_ void ndr_print_rap_PrintQueue3(struct ndr_print *ndr, const char *name,
static enum ndr_err_code ndr_push_rap_PrintQueue4(struct ndr_push *ndr, int ndr_flags, const struct rap_PrintQueue4 *r)
{
if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_push_align(ndr, 1));
- NDR_CHECK(ndr_push_trailer_align(ndr, 1));
+ NDR_CHECK(ndr_push_align(ndr, 5));
+ NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue));
+ NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job));
+ NDR_CHECK(ndr_push_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_push_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue));
+ NDR_CHECK(ndr_push_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job));
}
return NDR_ERR_SUCCESS;
}
@@ -1478,10 +1652,14 @@ static enum ndr_err_code ndr_push_rap_PrintQueue4(struct ndr_push *ndr, int ndr_
static enum ndr_err_code ndr_pull_rap_PrintQueue4(struct ndr_pull *ndr, int ndr_flags, struct rap_PrintQueue4 *r)
{
if (ndr_flags & NDR_SCALARS) {
- NDR_CHECK(ndr_pull_align(ndr, 1));
- NDR_CHECK(ndr_pull_trailer_align(ndr, 1));
+ NDR_CHECK(ndr_pull_align(ndr, 5));
+ NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_SCALARS, &r->queue));
+ NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_SCALARS, &r->job));
+ NDR_CHECK(ndr_pull_trailer_align(ndr, 5));
}
if (ndr_flags & NDR_BUFFERS) {
+ NDR_CHECK(ndr_pull_rap_PrintQueue3(ndr, NDR_BUFFERS, &r->queue));
+ NDR_CHECK(ndr_pull_rap_PrintJobInfo2(ndr, NDR_BUFFERS, &r->job));
}
return NDR_ERR_SUCCESS;
}
@@ -1490,6 +1668,8 @@ _PUBLIC_ void ndr_print_rap_PrintQueue4(struct ndr_print *ndr, const char *name,
{
ndr_print_struct(ndr, name, "rap_PrintQueue4");
ndr->depth++;
+ ndr_print_rap_PrintQueue3(ndr, "queue", &r->queue);
+ ndr_print_rap_PrintJobInfo2(ndr, "job", &r->job);
ndr->depth--;
}
@@ -1616,6 +1796,7 @@ static enum ndr_err_code ndr_push_rap_printq_info(struct ndr_push *ndr, int ndr_
break;
case 4:
+ NDR_CHECK(ndr_push_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4));
break;
case 5:
@@ -1682,6 +1863,7 @@ static enum ndr_err_code ndr_pull_rap_printq_info(struct ndr_pull *ndr, int ndr_
break;
case 4:
+ NDR_CHECK(ndr_pull_rap_PrintQueue4(ndr, NDR_BUFFERS, &r->info4));
break;
case 5:
diff --git a/librpc/gen_ndr/ndr_rap.h b/librpc/gen_ndr/ndr_rap.h
index cb46248..0bd455c 100644
--- a/librpc/gen_ndr/ndr_rap.h
+++ b/librpc/gen_ndr/ndr_rap.h
@@ -35,6 +35,7 @@ enum ndr_err_code ndr_push_rap_PrintJStatusCode(struct ndr_push *ndr, int ndr_fl
enum ndr_err_code ndr_pull_rap_PrintJStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintJStatusCode *r);
void ndr_print_rap_PrintJStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintJStatusCode r);
void ndr_print_rap_PrintJobInfo1(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo1 *r);
+void ndr_print_rap_PrintJobInfo2(struct ndr_print *ndr, const char *name, const struct rap_PrintJobInfo2 *r);
enum ndr_err_code ndr_push_rap_PrintQStatusCode(struct ndr_push *ndr, int ndr_flags, enum rap_PrintQStatusCode r);
enum ndr_err_code ndr_pull_rap_PrintQStatusCode(struct ndr_pull *ndr, int ndr_flags, enum rap_PrintQStatusCode *r);
void ndr_print_rap_PrintQStatusCode(struct ndr_print *ndr, const char *name, enum rap_PrintQStatusCode r);
diff --git a/librpc/gen_ndr/rap.h b/librpc/gen_ndr/rap.h
index b209fd4..97ece53 100644
--- a/librpc/gen_ndr/rap.h
+++ b/librpc/gen_ndr/rap.h
@@ -436,17 +436,17 @@ struct rap_PrintJobInfo0 {
struct rap_PrintJobInfo1 {
uint16_t JobID;
- uint8_t UserName[21];
+ const char *UserName;/* [charset(DOS)] */
uint8_t Pad;
- uint8_t NotifyName[16];
- uint8_t DataType[10];
+ const char *NotifyName;/* [charset(DOS)] */
+ const char *DataType;/* [charset(DOS)] */
const char *PrintParameterString;/* [charset(DOS),relative_short] */
uint16_t PrintParameterStringHigh;
uint16_t JobPosition;
enum rap_PrintJStatusCode JobStatus;
const char *JobStatusString;/* [charset(DOS),relative_short] */
uint16_t JobStatusStringHigh;
- uint32_t TimeSubmitted;
+ time_t TimeSubmitted;
uint32_t JobSize;
const char *JobCommentString;/* [charset(DOS),relative_short] */
uint16_t JobCommentStringHigh;
@@ -459,7 +459,7 @@ struct rap_PrintJobInfo2 {
uint16_t UserNameHigh;
uint16_t JobPosition;
enum rap_PrintJStatusCode JobStatus;
- uint32_t TimeSubmitted;
+ time_t TimeSubmitted;
uint32_t JobSize;
const char *JobCommentString;/* [charset(DOS),relative_short] */
uint16_t JobCommentStringHigh;
@@ -474,7 +474,7 @@ struct rap_PrintJobInfo3 {
uint16_t UserNameHigh;
uint16_t JobPosition;
enum rap_PrintJStatusCode JobStatus;
- uint32_t TimeSubmitted;
+ time_t TimeSubmitted;
uint32_t JobSize;
const char *JobCommentString;/* [charset(DOS),relative_short] */
uint16_t JobCommentStringHigh;
@@ -520,11 +520,11 @@ enum rap_PrintQStatusCode
;
struct rap_PrintQueue0 {
- uint8_t PrintQName[13];
+ const char *PrintQName;/* [charset(DOS)] */
};
struct rap_PrintQueue1 {
- uint8_t PrintQName[13];
+ const char *PrintQName;/* [charset(DOS)] */
uint8_t Pad1;
uint16_t Priority;
uint16_t StartTime;
@@ -574,7 +574,8 @@ struct rap_PrintQueue3 {
};
struct rap_PrintQueue4 {
- char _empty_;
+ struct rap_PrintQueue3 queue;
+ struct rap_PrintJobInfo2 job;
};
struct rap_PrintQueue5 {
diff --git a/librpc/idl/rap.idl b/librpc/idl/rap.idl
index 52a9c60..ebdf5fe 100644
--- a/librpc/idl/rap.idl
+++ b/librpc/idl/rap.idl
@@ -400,17 +400,17 @@ interface rap
typedef struct {
uint16 JobID;
- uint8 UserName[21];
+ [charset(DOS)] uint8 UserName[21];
uint8 Pad;
- uint8 NotifyName[16];
- uint8 DataType[10];
+ [charset(DOS)] uint8 NotifyName[16];
+ [charset(DOS)] uint8 DataType[10];
[relative_short] [string,charset(DOS)] uint8 *PrintParameterString;
uint16 PrintParameterStringHigh;
uint16 JobPosition;
rap_PrintJStatusCode JobStatus;
[relative_short] [string,charset(DOS)] uint8 *JobStatusString;
uint16 JobStatusStringHigh;
- uint32 TimeSubmitted;
+ time_t TimeSubmitted;
uint32 JobSize;
[relative_short] [string,charset(DOS)] uint8 *JobCommentString;
uint16 JobCommentStringHigh;
@@ -423,7 +423,7 @@ interface rap
uint16 UserNameHigh;
uint16 JobPosition;
rap_PrintJStatusCode JobStatus;
- uint32 TimeSubmitted;
+ time_t TimeSubmitted;
uint32 JobSize;
[relative_short] [string,charset(DOS)] uint8 *JobCommentString;
uint16 JobCommentStringHigh;
@@ -438,7 +438,7 @@ interface rap
uint16 UserNameHigh;
uint16 JobPosition;
rap_PrintJStatusCode JobStatus;
- uint32 TimeSubmitted;
+ time_t TimeSubmitted;
uint32 JobSize;
[relative_short] [string,charset(DOS)] uint8 *JobCommentString;
uint16 JobCommentStringHigh;
@@ -474,11 +474,11 @@ interface rap
} rap_PrintQStatusCode;
typedef struct {
- uint8 PrintQName[13];
+ [charset(DOS)] uint8 PrintQName[13];
} rap_PrintQueue0;
typedef struct {
- uint8 PrintQName[13];
+ [charset(DOS)] uint8 PrintQName[13];
uint8 Pad1;
uint16 Priority;
uint16 StartTime;
--
Samba Shared Repository
More information about the samba-cvs
mailing list