summaryrefslogtreecommitdiff
path: root/librpc/ndr
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2009-12-02 14:22:52 +0100
committerGünther Deschner <gd@samba.org>2009-12-02 14:37:02 +0100
commit292af4fc046ff39ebd3ec853c402dc267a863fa6 (patch)
treea7462db0aea19585783d613b7d11675d24a5a0ca /librpc/ndr
parent91bb0659776d397bc4b8ca7a534f6f2327e2e6fe (diff)
downloadsamba-292af4fc046ff39ebd3ec853c402dc267a863fa6.tar.gz
samba-292af4fc046ff39ebd3ec853c402dc267a863fa6.tar.bz2
samba-292af4fc046ff39ebd3ec853c402dc267a863fa6.zip
spoolss: add spoolss_StringArray2.
The difference to spoolss_StringArray is that in spoolss_StringArray2 the string array is put into a subcontext of _ndr_size. Guenther
Diffstat (limited to 'librpc/ndr')
-rw-r--r--librpc/ndr/ndr_spoolss_buf.c9
-rw-r--r--librpc/ndr/ndr_spoolss_buf.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/librpc/ndr/ndr_spoolss_buf.c b/librpc/ndr/ndr_spoolss_buf.c
index 0acae3dedb..9968e90c6a 100644
--- a/librpc/ndr/ndr_spoolss_buf.c
+++ b/librpc/ndr/ndr_spoolss_buf.c
@@ -708,6 +708,15 @@ _PUBLIC_ size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r
return ndr_size_struct(r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_StringArray, ic);
}
+_PUBLIC_ size_t ndr_size_spoolss_StringArray2(const struct spoolss_StringArray2 *r, struct smb_iconv_convenience *ic, int flags)
+{
+ if (!r) {
+ return 4;
+ }
+
+ return ndr_size_struct((const struct spoolss_StringArray *)r, flags, (ndr_push_flags_fn_t)ndr_push_spoolss_StringArray, ic);
+}
+
/* hand marshall as pidl cannot (yet) generate a relative pointer to a fixed array of
* structs */
diff --git a/librpc/ndr/ndr_spoolss_buf.h b/librpc/ndr/ndr_spoolss_buf.h
index aa6e277c5f..9a76f824f0 100644
--- a/librpc/ndr/ndr_spoolss_buf.h
+++ b/librpc/ndr/ndr_spoolss_buf.h
@@ -47,6 +47,7 @@ enum ndr_err_code ndr_pull_spoolss_GetPrinterData(struct ndr_pull *ndr, int flag
enum ndr_err_code ndr_push_spoolss_SetPrinterData(struct ndr_push *ndr, int flags, const struct spoolss_SetPrinterData *r);
uint32_t _ndr_size_spoolss_DeviceMode(struct spoolss_DeviceMode *devmode, struct smb_iconv_convenience *ic, uint32_t flags);
size_t ndr_size_spoolss_StringArray(const struct spoolss_StringArray *r, struct smb_iconv_convenience *ic, int flags);
+size_t ndr_size_spoolss_StringArray2(const struct spoolss_StringArray2 *r, struct smb_iconv_convenience *ic, int flags);
_PUBLIC_ enum ndr_err_code ndr_push_spoolss_DriverInfo101(struct ndr_push *ndr, int ndr_flags, const struct spoolss_DriverInfo101 *r);
_PUBLIC_ enum ndr_err_code ndr_pull_spoolss_DriverInfo101(struct ndr_pull *ndr, int ndr_flags, struct spoolss_DriverInfo101 *r);
void ndr_print_spoolss_Field(struct ndr_print *ndr, const char *name, const union spoolss_Field *r);