[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha6-830-gfeec49d

Günther Deschner gd at samba.org
Thu Feb 12 21:52:03 GMT 2009


The branch, master has been updated
       via  feec49d5cd07a69991d1bc6dc6325ecda21a19a8 (commit)
       via  a4b0c5d871bcc8ec7a16a7bfaf891bd45934ffdf (commit)
       via  38e2888653638393ba603c6a4ffd2c3dfa5c718c (commit)
       via  41f17a1fc21ba806a16c7e15061b570abcabb870 (commit)
       via  30e18aadc3710116c74c47563c6476d520685cfc (commit)
       via  97f15fcd68b142b5d304b9fec0a09c6361ee4ec0 (commit)
       via  09b3016a1a17fabbef3e87c2ef51eb8d903b19a4 (commit)
       via  2876c77c8d0a6f26bbe4c5b5678209dabbd7ff64 (commit)
      from  44c77218842b1328907d2dcb9250f6da52e28d30 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit feec49d5cd07a69991d1bc6dc6325ecda21a19a8
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:28:45 2009 +0100

    s3-spoolss: remove old spoolss_SetPrinterDataEx.
    
    Guenther

commit a4b0c5d871bcc8ec7a16a7bfaf891bd45934ffdf
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:23:04 2009 +0100

    s3-spoolss: use pidl for _spoolss_SetPrinterDataEx.
    
    Guenther

commit 38e2888653638393ba603c6a4ffd2c3dfa5c718c
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:28:10 2009 +0100

    s3-net: use rpccli_spoolss_SetPrinterDataEx.
    
    Guenther

commit 41f17a1fc21ba806a16c7e15061b570abcabb870
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:07:30 2009 +0100

    s3-spoolss: remove old spoolss_GetPrinterDataEx.
    
    Guenther

commit 30e18aadc3710116c74c47563c6476d520685cfc
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:06:54 2009 +0100

    s3-rpcclient: use rpccli_spoolss_GetPrinterDataEx.
    
    Guenther

commit 97f15fcd68b142b5d304b9fec0a09c6361ee4ec0
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 19:42:57 2009 +0100

    s3-spoolss: use pidl for _spoolss_GetPrinterDataEx.
    
    Guenther

commit 09b3016a1a17fabbef3e87c2ef51eb8d903b19a4
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:44:29 2009 +0100

    s3: re-run make samba3-idl.
    
    Guenther

commit 2876c77c8d0a6f26bbe4c5b5678209dabbd7ff64
Author: Günther Deschner <gd at samba.org>
Date:   Thu Feb 12 22:29:08 2009 +0100

    spoolss: fix IDL for spoolss_SetPrinterDataEx.
    
    Guenther

-----------------------------------------------------------------------

Summary of changes:
 librpc/gen_ndr/cli_spoolss.c        |    2 +-
 librpc/gen_ndr/cli_spoolss.h        |    2 +-
 librpc/gen_ndr/ndr_spoolss.c        |   20 +++-
 librpc/gen_ndr/spoolss.h            |    2 +-
 librpc/idl/spoolss.idl              |    2 +-
 source3/include/proto.h             |   20 ----
 source3/include/rpc_spoolss.h       |   39 --------
 source3/rpc_client/cli_spoolss.c    |   84 ----------------
 source3/rpc_parse/parse_spoolss.c   |  184 -----------------------------------
 source3/rpc_server/srv_spoolss.c    |   45 +--------
 source3/rpc_server/srv_spoolss_nt.c |  134 +++++++++----------------
 source3/rpcclient/cmd_spoolss.c     |   44 ++++++++-
 source3/utils/net_rpc_printer.c     |   11 ++-
 13 files changed, 122 insertions(+), 467 deletions(-)


Changeset truncated at 500 lines:

diff --git a/librpc/gen_ndr/cli_spoolss.c b/librpc/gen_ndr/cli_spoolss.c
index 6225d2d..b8836f4 100644
--- a/librpc/gen_ndr/cli_spoolss.c
+++ b/librpc/gen_ndr/cli_spoolss.c
@@ -3636,7 +3636,7 @@ NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
 					 const char *key_name /* [in] [charset(UTF16)] */,
 					 const char *value_name /* [in] [charset(UTF16)] */,
 					 uint32_t type /* [in]  */,
-					 DATA_BLOB buffer /* [in]  */,
+					 uint8_t *buffer /* [in] [ref,size_is(offered)] */,
 					 uint32_t offered /* [in]  */,
 					 WERROR *werror)
 {
diff --git a/librpc/gen_ndr/cli_spoolss.h b/librpc/gen_ndr/cli_spoolss.h
index 34c50a0..243de02 100644
--- a/librpc/gen_ndr/cli_spoolss.h
+++ b/librpc/gen_ndr/cli_spoolss.h
@@ -457,7 +457,7 @@ NTSTATUS rpccli_spoolss_SetPrinterDataEx(struct rpc_pipe_client *cli,
 					 const char *key_name /* [in] [charset(UTF16)] */,
 					 const char *value_name /* [in] [charset(UTF16)] */,
 					 uint32_t type /* [in]  */,
-					 DATA_BLOB buffer /* [in]  */,
+					 uint8_t *buffer /* [in] [ref,size_is(offered)] */,
 					 uint32_t offered /* [in]  */,
 					 WERROR *werror);
 NTSTATUS rpccli_spoolss_GetPrinterDataEx(struct rpc_pipe_client *cli,
diff --git a/librpc/gen_ndr/ndr_spoolss.c b/librpc/gen_ndr/ndr_spoolss.c
index 1bb419b..f99fd54 100644
--- a/librpc/gen_ndr/ndr_spoolss.c
+++ b/librpc/gen_ndr/ndr_spoolss.c
@@ -17705,7 +17705,11 @@ static enum ndr_err_code ndr_push_spoolss_SetPrinterDataEx(struct ndr_push *ndr,
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.value_name, CH_UTF16)));
 		NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.value_name, ndr_charset_length(r->in.value_name, CH_UTF16), sizeof(uint16_t), CH_UTF16));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.type));
-		NDR_CHECK(ndr_push_DATA_BLOB(ndr, NDR_SCALARS, r->in.buffer));
+		if (r->in.buffer == NULL) {
+			return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer");
+		}
+		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
+		NDR_CHECK(ndr_push_array_uint8(ndr, NDR_SCALARS, r->in.buffer, r->in.offered));
 		NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.offered));
 	}
 	if (flags & NDR_OUT) {
@@ -17740,8 +17744,15 @@ static enum ndr_err_code ndr_pull_spoolss_SetPrinterDataEx(struct ndr_pull *ndr,
 		NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t)));
 		NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.value_name, ndr_get_array_length(ndr, &r->in.value_name), sizeof(uint16_t), CH_UTF16));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.type));
-		NDR_CHECK(ndr_pull_DATA_BLOB(ndr, NDR_SCALARS, &r->in.buffer));
+		NDR_CHECK(ndr_pull_array_size(ndr, &r->in.buffer));
+		if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) {
+			NDR_PULL_ALLOC_N(ndr, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer));
+		}
+		NDR_CHECK(ndr_pull_array_uint8(ndr, NDR_SCALARS, r->in.buffer, ndr_get_array_size(ndr, &r->in.buffer)));
 		NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.offered));
+		if (r->in.buffer) {
+			NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->in.buffer, r->in.offered));
+		}
 	}
 	if (flags & NDR_OUT) {
 		NDR_CHECK(ndr_pull_WERROR(ndr, NDR_SCALARS, &r->out.result));
@@ -17766,7 +17777,10 @@ _PUBLIC_ void ndr_print_spoolss_SetPrinterDataEx(struct ndr_print *ndr, const ch
 		ndr_print_string(ndr, "key_name", r->in.key_name);
 		ndr_print_string(ndr, "value_name", r->in.value_name);
 		ndr_print_uint32(ndr, "type", r->in.type);
-		ndr_print_DATA_BLOB(ndr, "buffer", r->in.buffer);
+		ndr_print_ptr(ndr, "buffer", r->in.buffer);
+		ndr->depth++;
+		ndr_print_array_uint8(ndr, "buffer", r->in.buffer, r->in.offered);
+		ndr->depth--;
 		ndr_print_uint32(ndr, "offered", r->in.offered);
 		ndr->depth--;
 	}
diff --git a/librpc/gen_ndr/spoolss.h b/librpc/gen_ndr/spoolss.h
index d60aea5..22d845e 100644
--- a/librpc/gen_ndr/spoolss.h
+++ b/librpc/gen_ndr/spoolss.h
@@ -2223,7 +2223,7 @@ struct spoolss_SetPrinterDataEx {
 		const char *key_name;/* [charset(UTF16)] */
 		const char *value_name;/* [charset(UTF16)] */
 		uint32_t type;
-		DATA_BLOB buffer;
+		uint8_t *buffer;/* [ref,size_is(offered)] */
 		uint32_t offered;
 	} in;
 
diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl
index f3d0747..da81f63 100644
--- a/librpc/idl/spoolss.idl
+++ b/librpc/idl/spoolss.idl
@@ -1693,7 +1693,7 @@ import "misc.idl", "security.idl", "winreg.idl";
 		[in] 	 [string,charset(UTF16)] uint16 key_name[],
 		[in] 	 [string,charset(UTF16)] uint16 value_name[],
 		[in] 	 uint32 type,
-		[in] 	 DATA_BLOB buffer,
+		[in,ref] [size_is(offered)] uint8 *buffer,
 		[in] 	 uint32 offered
 	);
 
diff --git a/source3/include/proto.h b/source3/include/proto.h
index bc5d839..2365015 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -5498,15 +5498,8 @@ WERROR rpccli_spoolss_getjob(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				  POLICY_HND *hnd, const char *valuename, 
 				  REGISTRY_VALUE *value);
-WERROR rpccli_spoolss_getprinterdataex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				    POLICY_HND *hnd, const char *keyname, 
-				    const char *valuename, 
-				    REGISTRY_VALUE *value);
 WERROR rpccli_spoolss_setprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				  POLICY_HND *hnd, REGISTRY_VALUE *value);
-WERROR rpccli_spoolss_setprinterdataex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				    POLICY_HND *hnd, char *keyname, 
-				    REGISTRY_VALUE *value);
 WERROR rpccli_spoolss_enumprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				   POLICY_HND *hnd, uint32 ndx,
 				   uint32 value_offered, uint32 data_offered,
@@ -5830,10 +5823,6 @@ bool make_spoolss_printer_info_7(TALLOC_CTX *mem_ctx, SPOOL_PRINTER_INFO_LEVEL_7
 bool make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA *q_u,
 				   const POLICY_HND *handle,
 				   const char *valuename, uint32 size);
-bool make_spoolss_q_getprinterdataex(SPOOL_Q_GETPRINTERDATAEX *q_u,
-				     const POLICY_HND *handle,
-				     const char *keyname, 
-				     const char *valuename, uint32 size);
 bool spoolss_io_q_getprinterdata(const char *desc, SPOOL_Q_GETPRINTERDATA *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_getprinterdata(const char *desc, SPOOL_R_GETPRINTERDATA *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_rffpcnex(const char *desc, SPOOL_Q_RFFPCNEX *q_u, prs_struct *ps, int depth);
@@ -5996,9 +5985,6 @@ bool make_spoolss_q_enumprinterdataex(SPOOL_Q_ENUMPRINTERDATAEX *q_u,
 				      uint32 size);
 bool make_spoolss_q_setprinterdata(SPOOL_Q_SETPRINTERDATA *q_u, const POLICY_HND *hnd,
 				   char* value, uint32 data_type, char* data, uint32 data_size);
-bool make_spoolss_q_setprinterdataex(SPOOL_Q_SETPRINTERDATAEX *q_u, const POLICY_HND *hnd,
-				     char *key, char* value, uint32 data_type, char* data, 
-				     uint32 data_size);
 bool spoolss_io_q_setprinterdata(const char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_setprinterdata(const char *desc, SPOOL_R_SETPRINTERDATA *r_u, prs_struct *ps, int depth);
 bool spoolss_io_q_resetprinter(const char *desc, SPOOL_Q_RESETPRINTER *q_u, prs_struct *ps, int depth);
@@ -6019,10 +6005,6 @@ bool make_spoolss_q_reply_rrpcn(SPOOL_Q_REPLY_RRPCN *q_u, POLICY_HND *hnd,
 				SPOOL_NOTIFY_INFO *info);
 bool spoolss_io_q_reply_rrpcn(const char *desc, SPOOL_Q_REPLY_RRPCN *q_u, prs_struct *ps, int depth);
 bool spoolss_io_r_reply_rrpcn(const char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_struct *ps, int depth);
-bool spoolss_io_q_getprinterdataex(const char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_getprinterdataex(const char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth);
-bool spoolss_io_q_setprinterdataex(const char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth);
-bool spoolss_io_r_setprinterdataex(const char *desc, SPOOL_R_SETPRINTERDATAEX *r_u, prs_struct *ps, int depth);
 bool make_spoolss_q_enumprinterkey(SPOOL_Q_ENUMPRINTERKEY *q_u, 
 				   POLICY_HND *hnd, const char *key, 
 				   uint32 size);
@@ -6263,8 +6245,6 @@ WERROR _spoolss_enumprintprocessors(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCESSORS
 WERROR _spoolss_enumprintprocdatatypes(pipes_struct *p, SPOOL_Q_ENUMPRINTPROCDATATYPES *q_u, SPOOL_R_ENUMPRINTPROCDATATYPES *r_u);
 WERROR _spoolss_enumprintmonitors(pipes_struct *p, SPOOL_Q_ENUMPRINTMONITORS *q_u, SPOOL_R_ENUMPRINTMONITORS *r_u);
 WERROR _spoolss_getjob( pipes_struct *p, SPOOL_Q_GETJOB *q_u, SPOOL_R_GETJOB *r_u);
-WERROR _spoolss_getprinterdataex(pipes_struct *p, SPOOL_Q_GETPRINTERDATAEX *q_u, SPOOL_R_GETPRINTERDATAEX *r_u);
-WERROR _spoolss_setprinterdataex(pipes_struct *p, SPOOL_Q_SETPRINTERDATAEX *q_u, SPOOL_R_SETPRINTERDATAEX *r_u);
 WERROR _spoolss_enumprinterkey(pipes_struct *p, SPOOL_Q_ENUMPRINTERKEY *q_u, SPOOL_R_ENUMPRINTERKEY *r_u);
 WERROR _spoolss_enumprinterdataex(pipes_struct *p, SPOOL_Q_ENUMPRINTERDATAEX *q_u, SPOOL_R_ENUMPRINTERDATAEX *r_u);
 WERROR _spoolss_getprintprocessordirectory(pipes_struct *p, SPOOL_Q_GETPRINTPROCESSORDIRECTORY *q_u, SPOOL_R_GETPRINTPROCESSORDIRECTORY *r_u);
diff --git a/source3/include/rpc_spoolss.h b/source3/include/rpc_spoolss.h
index 472ce45..1b8d56d 100644
--- a/source3/include/rpc_spoolss.h
+++ b/source3/include/rpc_spoolss.h
@@ -1436,45 +1436,6 @@ typedef struct spool_r_rrpcn
 }
 SPOOL_R_REPLY_RRPCN;
 
-typedef struct spool_q_getprinterdataex
-{
-	POLICY_HND handle;
-	UNISTR2 keyname;
-        UNISTR2 valuename;
-	uint32 size;
-}
-SPOOL_Q_GETPRINTERDATAEX;
-
-typedef struct spool_r_getprinterdataex
-{
-	uint32 type;
-	uint32 size;
-	uint8 *data;
-	uint32 needed;
-	WERROR status;
-}
-SPOOL_R_GETPRINTERDATAEX;
-
-typedef struct spool_q_setprinterdataex
-{
-	POLICY_HND handle;
-	UNISTR2 key;
-	UNISTR2 value;
-	uint32 type;
-	uint32 max_len;
-	uint8 *data;
-	uint32 real_len;
-	uint32 numeric_data;
-}
-SPOOL_Q_SETPRINTERDATAEX;
-
-typedef struct spool_r_setprinterdataex
-{
-	WERROR status;
-}
-SPOOL_R_SETPRINTERDATAEX;
-
-
 typedef struct spool_q_enumprinterkey
 {
 	POLICY_HND handle;
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c
index b635bc7..6ecd722 100644
--- a/source3/rpc_client/cli_spoolss.c
+++ b/source3/rpc_client/cli_spoolss.c
@@ -1368,63 +1368,6 @@ WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *me
 /**********************************************************************
 **********************************************************************/
 
-WERROR rpccli_spoolss_getprinterdataex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				    POLICY_HND *hnd, const char *keyname, 
-				    const char *valuename, 
-				    REGISTRY_VALUE *value)
-{
-	prs_struct qbuf, rbuf;
-	SPOOL_Q_GETPRINTERDATAEX in;
-	SPOOL_R_GETPRINTERDATAEX out;
-	uint32 offered = 0;
-
-	ZERO_STRUCT(in);
-	ZERO_STRUCT(out);
-
-	make_spoolss_q_getprinterdataex( &in, hnd, keyname, valuename, offered );
-
-	CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_GETPRINTERDATAEX,
-	            in, out, 
-	            qbuf, rbuf,
-	            spoolss_io_q_getprinterdataex,
-	            spoolss_io_r_getprinterdataex, 
-	            WERR_GENERAL_FAILURE );
-
-	if ( W_ERROR_EQUAL( out.status, WERR_MORE_DATA ) ) {
-		offered = out.needed;
-		
-		ZERO_STRUCT(in);
-		ZERO_STRUCT(out);
-		
-		make_spoolss_q_getprinterdataex( &in, hnd, keyname, valuename, offered );
-
-		CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_GETPRINTERDATAEX,
-		            in, out, 
-		            qbuf, rbuf,
-		            spoolss_io_q_getprinterdataex,
-		            spoolss_io_r_getprinterdataex, 
-		            WERR_GENERAL_FAILURE );
-	}
-
-	if (!W_ERROR_IS_OK(out.status))
-		return out.status;	
-
-	/* Return output parameters */
-
-	if (out.needed) {
-		value->data_p = (uint8 *)TALLOC_MEMDUP(mem_ctx, out.data, out.needed);
-	} else {
-		value->data_p = NULL;
-	}
-	value->type = out.type;
-	value->size = out.needed;
-	
-	return out.status;
-}
-
-/**********************************************************************
-**********************************************************************/
-
 WERROR rpccli_spoolss_setprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				  POLICY_HND *hnd, REGISTRY_VALUE *value)
 {
@@ -1451,33 +1394,6 @@ WERROR rpccli_spoolss_setprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *me
 /**********************************************************************
 **********************************************************************/
 
-WERROR rpccli_spoolss_setprinterdataex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
-				    POLICY_HND *hnd, char *keyname, 
-				    REGISTRY_VALUE *value)
-{
-	prs_struct qbuf, rbuf;
-	SPOOL_Q_SETPRINTERDATAEX in;
-	SPOOL_R_SETPRINTERDATAEX out;
-	
-	ZERO_STRUCT(in);
-	ZERO_STRUCT(out);
-
-        make_spoolss_q_setprinterdataex( &in, hnd, keyname, value->valuename, 
-		value->type, (char *)value->data_p, value->size);
-
-	CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_SETPRINTERDATAEX,
-	            in, out, 
-	            qbuf, rbuf,
-	            spoolss_io_q_setprinterdataex,
-	            spoolss_io_r_setprinterdataex, 
-	            WERR_GENERAL_FAILURE );
-
-	return out.status;
-}
-
-/**********************************************************************
-**********************************************************************/
-
 WERROR rpccli_spoolss_enumprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,
 				   POLICY_HND *hnd, uint32 ndx,
 				   uint32 value_offered, uint32 data_offered,
diff --git a/source3/rpc_parse/parse_spoolss.c b/source3/rpc_parse/parse_spoolss.c
index f11672a..3475203 100644
--- a/source3/rpc_parse/parse_spoolss.c
+++ b/source3/rpc_parse/parse_spoolss.c
@@ -945,27 +945,6 @@ bool make_spoolss_q_getprinterdata(SPOOL_Q_GETPRINTERDATA *q_u,
 }
 
 /*******************************************************************
- * make a structure.
- ********************************************************************/
-
-bool make_spoolss_q_getprinterdataex(SPOOL_Q_GETPRINTERDATAEX *q_u,
-				     const POLICY_HND *handle,
-				     const char *keyname, 
-				     const char *valuename, uint32 size)
-{
-        if (q_u == NULL) return False;
-
-        DEBUG(5,("make_spoolss_q_getprinterdataex\n"));
-
-        q_u->handle = *handle;
-	init_unistr2(&q_u->valuename, valuename, UNI_STR_TERMINATE);
-	init_unistr2(&q_u->keyname, keyname, UNI_STR_TERMINATE);
-        q_u->size = size;
-
-        return True;
-}
-
-/*******************************************************************
  * read a structure.
  * called from spoolss_q_getprinterdata (srv_spoolss.c)
  ********************************************************************/
@@ -4789,23 +4768,6 @@ bool make_spoolss_q_setprinterdata(SPOOL_Q_SETPRINTERDATA *q_u, const POLICY_HND
 
 /*******************************************************************
 ********************************************************************/  
-bool make_spoolss_q_setprinterdataex(SPOOL_Q_SETPRINTERDATAEX *q_u, const POLICY_HND *hnd,
-				     char *key, char* value, uint32 data_type, char* data, 
-				     uint32 data_size)
-{
-	memcpy(&q_u->handle, hnd, sizeof(q_u->handle));
-	q_u->type = data_type;
-	init_unistr2(&q_u->value, value, UNI_STR_TERMINATE);
-	init_unistr2(&q_u->key, key, UNI_STR_TERMINATE);
-
-	q_u->max_len = q_u->real_len = data_size;
-	q_u->data = (unsigned char *)data;
-	
-	return True;
-}
-
-/*******************************************************************
-********************************************************************/  
 
 bool spoolss_io_q_setprinterdata(const char *desc, SPOOL_Q_SETPRINTERDATA *q_u, prs_struct *ps, int depth)
 {
@@ -5188,152 +5150,6 @@ bool spoolss_io_r_reply_rrpcn(const char *desc, SPOOL_R_REPLY_RRPCN *r_u, prs_st
 
 /*******************************************************************
  * read a structure.
- * called from spoolss_q_getprinterdataex (srv_spoolss.c)
- ********************************************************************/
-
-bool spoolss_io_q_getprinterdataex(const char *desc, SPOOL_Q_GETPRINTERDATAEX *q_u, prs_struct *ps, int depth)
-{
-	if (q_u == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "spoolss_io_q_getprinterdataex");
-	depth++;
-
-	if (!prs_align(ps))
-		return False;
-	if (!smb_io_pol_hnd("printer handle",&q_u->handle,ps,depth))
-		return False;
-	if (!prs_align(ps))
-		return False;
-	if (!smb_io_unistr2("keyname", &q_u->keyname,True,ps,depth))
-		return False;
-	if (!prs_align(ps))
-		return False;
-	if (!smb_io_unistr2("valuename", &q_u->valuename,True,ps,depth))
-		return False;
-	if (!prs_align(ps))
-		return False;
-	if (!prs_uint32("size", ps, depth, &q_u->size))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- * write a structure.
- * called from spoolss_r_getprinterdataex (srv_spoolss.c)
- ********************************************************************/
-
-bool spoolss_io_r_getprinterdataex(const char *desc, SPOOL_R_GETPRINTERDATAEX *r_u, prs_struct *ps, int depth)
-{
-	if (r_u == NULL)
-		return False;
-
-	prs_debug(ps, depth, desc, "spoolss_io_r_getprinterdataex");
-	depth++;
-
-	if (!prs_align(ps))
-		return False;
-	if (!prs_uint32("type", ps, depth, &r_u->type))
-		return False;
-	if (!prs_uint32("size", ps, depth, &r_u->size))
-		return False;
-	
-	if (UNMARSHALLING(ps) && r_u->size) {
-		r_u->data = PRS_ALLOC_MEM(ps, unsigned char, r_u->size);
-		if(!r_u->data)
-			return False;
-	}
-
-	if (!prs_uint8s(False,"data", ps, depth, r_u->data, r_u->size))
-		return False;
-		
-	if (!prs_align(ps))
-		return False;
-	
-	if (!prs_uint32("needed", ps, depth, &r_u->needed))
-		return False;
-	if (!prs_werror("status", ps, depth, &r_u->status))
-		return False;
-		
-	return True;
-}
-
-/*******************************************************************
- * read a structure.
- ********************************************************************/  
-
-bool spoolss_io_q_setprinterdataex(const char *desc, SPOOL_Q_SETPRINTERDATAEX *q_u, prs_struct *ps, int depth)
-{
-	prs_debug(ps, depth, desc, "spoolss_io_q_setprinterdataex");
-	depth++;
-
-	if(!prs_align(ps))
-		return False;
-	if(!smb_io_pol_hnd("printer handle", &q_u->handle, ps, depth))
-		return False;
-	if(!smb_io_unistr2("", &q_u->key, True, ps, depth))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!smb_io_unistr2("", &q_u->value, True, ps, depth))
-		return False;
-
-	if(!prs_align(ps))
-		return False;
-
-	if(!prs_uint32("type", ps, depth, &q_u->type))
-		return False;
-
-	if(!prs_uint32("max_len", ps, depth, &q_u->max_len))
-		return False;
-
-	switch (q_u->type)
-	{
-		case 0x1:
-		case 0x3:
-		case 0x4:
-		case 0x7:
-			if (q_u->max_len) {
-				if (UNMARSHALLING(ps))
-    					q_u->data=PRS_ALLOC_MEM(ps, uint8, q_u->max_len);
-    				if(q_u->data == NULL)
-    					return False;
-    				if(!prs_uint8s(False,"data", ps, depth, q_u->data, q_u->max_len))
-    					return False;
-			}
-			if(!prs_align(ps))
-				return False;
-			break;
-	}	
-	
-	if(!prs_uint32("real_len", ps, depth, &q_u->real_len))
-		return False;
-
-	return True;
-}
-
-/*******************************************************************
- * write a structure.


-- 
Samba Shared Repository


More information about the samba-cvs mailing list