diff options
Diffstat (limited to 'source3/rpc_client/cli_spoolss.c')
| -rw-r--r-- | source3/rpc_client/cli_spoolss.c | 206 | 
1 files changed, 0 insertions, 206 deletions
diff --git a/source3/rpc_client/cli_spoolss.c b/source3/rpc_client/cli_spoolss.c index 5467c6d736..76614c67eb 100644 --- a/source3/rpc_client/cli_spoolss.c +++ b/source3/rpc_client/cli_spoolss.c @@ -712,212 +712,6 @@ WERROR rpccli_spoolss_enumprinters(struct rpc_pipe_client *cli,  /**********************************************************************  **********************************************************************/ -static bool decode_printer_info_0(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer, -				uint32 returned, PRINTER_INFO_0 **info) -{ -	uint32 i; -	PRINTER_INFO_0  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_0, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_0)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		if (!smb_io_printer_info_0("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_1(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer, -				uint32 returned, PRINTER_INFO_1 **info) -{ -	uint32 i; -	PRINTER_INFO_1  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_1, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_1)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		if (!smb_io_printer_info_1("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_2(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer,  -				uint32 returned, PRINTER_INFO_2 **info) -{ -	uint32 i; -	PRINTER_INFO_2  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_2, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_2)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		/* a little initialization as we go */ -		inf[i].secdesc = NULL; -		if (!smb_io_printer_info_2("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -static bool decode_printer_info_3(TALLOC_CTX *mem_ctx, RPC_BUFFER *buffer,  -				uint32 returned, PRINTER_INFO_3 **info) -{ -	uint32 i; -	PRINTER_INFO_3  *inf; - -	if (returned) { -		inf=TALLOC_ARRAY(mem_ctx, PRINTER_INFO_3, returned); -		if (!inf) { -			return False; -		} -		memset(inf, 0, returned*sizeof(PRINTER_INFO_3)); -	} else { -		inf = NULL; -	} - -	prs_set_offset(&buffer->prs,0); - -	for (i=0; i<returned; i++) { -		inf[i].secdesc = NULL; -		if (!smb_io_printer_info_3("", buffer, &inf[i], 0)) { -			return False; -		} -	} - -	*info=inf; -	return True; -} - -/********************************************************************** -**********************************************************************/ - -WERROR rpccli_spoolss_enum_printers(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, -				 char *name, uint32 flags, uint32 level, -				 uint32 *num_printers, PRINTER_INFO_CTR *ctr) -{ -	prs_struct qbuf, rbuf; -	SPOOL_Q_ENUMPRINTERS in; -        SPOOL_R_ENUMPRINTERS out; -	RPC_BUFFER buffer; -	uint32 offered; - -	ZERO_STRUCT(in); -	ZERO_STRUCT(out); - -	offered = 0; -	if (!rpcbuf_init(&buffer, offered, mem_ctx)) -		return WERR_NOMEM; -	make_spoolss_q_enumprinters( &in, flags, name, level, &buffer, offered ); - -	CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_ENUMPRINTERS, -	            in, out,  -	            qbuf, rbuf, -	            spoolss_io_q_enumprinters, -	            spoolss_io_r_enumprinters,  -	            WERR_GENERAL_FAILURE ); -		     -	if ( W_ERROR_EQUAL( out.status, WERR_INSUFFICIENT_BUFFER ) ) { -		offered = out.needed; -		 -		ZERO_STRUCT(in); -		ZERO_STRUCT(out); - -		if (!rpcbuf_init(&buffer, offered, mem_ctx)) -			return WERR_NOMEM; -		make_spoolss_q_enumprinters( &in, flags, name, level, &buffer, offered ); - -		CLI_DO_RPC_WERR( cli, mem_ctx, &syntax_spoolss, SPOOLSS_ENUMPRINTERS, -		            in, out,  -		            qbuf, rbuf, -		            spoolss_io_q_enumprinters, -		            spoolss_io_r_enumprinters,  -		            WERR_GENERAL_FAILURE ); -	} - -	if ( !W_ERROR_IS_OK(out.status) ) -		return out.status; - -	switch (level) { -	case 0: -		if (!decode_printer_info_0(mem_ctx, out.buffer, out.returned, &ctr->printers_0)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 1: -		if (!decode_printer_info_1(mem_ctx, out.buffer, out.returned, &ctr->printers_1)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 2: -		if (!decode_printer_info_2(mem_ctx, out.buffer, out.returned, &ctr->printers_2)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	case 3: -		if (!decode_printer_info_3(mem_ctx, out.buffer, out.returned, &ctr->printers_3)) { -			return WERR_GENERAL_FAILURE; -		} -		break; -	default: -		return WERR_UNKNOWN_LEVEL; -	}			 - -	*num_printers = out.returned; - -	return out.status; -} - -/********************************************************************** -**********************************************************************/ -  WERROR rpccli_spoolss_getprinterdata(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,  				  POLICY_HND *hnd, const char *valuename,   				  REGISTRY_VALUE *value)  | 
