* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
+/* Since the SPOOLSS rpc routines are basically DOS 16-bit calls wrapped
+ up, all the errors returned are DOS errors, not NT status codes. */
+
#include "includes.h"
extern int DEBUGLEVEL;
if (!Printer) {
DEBUG(0,("delete_printer_handle: Invalid handle (%s)\n", OUR_HANDLE(hnd)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (del_a_printer(Printer->dev.handlename) != 0) {
DEBUG(3,("Error deleting printer %s\n", Printer->dev.handlename));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/* Check calling user has permission to delete printer. Note that
if (!print_access_check(NULL, -1, PRINTER_ACCESS_ADMINISTER)) {
DEBUG(3, ("printer delete denied by security descriptor\n"));
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
if (*lp_deleteprinter_cmd()) {
DEBUG(10,("Running [%s]\n", command));
ret = smbrun(command, NULL);
if (ret != 0) {
- return ERROR_INVALID_HANDLE; /* What to return here? */
+ return ERRbadfid; /* What to return here? */
}
DEBUGADD(10,("returned [%d]\n", ret));
if ( ( i = lp_servicenumber( Printer->dev.handlename ) ) >= 0 ) {
lp_killservice( i );
- return ERROR_SUCCESS;
+ return ERRsuccess;
} else
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
- return ERROR_SUCCESS;
+ return ERRsuccess;
}
/****************************************************************************
uint32 _spoolss_open_printer_ex( pipes_struct *p, SPOOL_Q_OPEN_PRINTER_EX *q_u, SPOOL_R_OPEN_PRINTER_EX *r_u)
{
#if 0
- uint32 result = NT_STATUS_NOPROBLEMO;
+ uint32 result = ERRsuccess;
#endif
UNISTR2 *printername = NULL;
printername = &q_u->printername;
if (printername == NULL)
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
/* some sanity check because you can open a printer or a print server */
/* aka: \\server\printer or \\server */
DEBUGADD(3,("checking name: %s\n",name));
if (!open_printer_hnd(p, handle, name))
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
/*
if (printer_default->datatype_ptr != NULL)
if (!set_printer_hnd_accesstype(p, handle, printer_default->access_required)) {
close_printer_handle(p, handle);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
/*
if (handle_is_printserver(p, handle)) {
if (printer_default->access_required == 0) {
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
else if ((printer_default->access_required & SERVER_ACCESS_ADMINISTER ) == SERVER_ACCESS_ADMINISTER) {
if (!lp_ms_add_printer_wizard()) {
close_printer_handle(p, handle);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
else if (user.uid == 0 || user_in_list(uidtoname(user.uid), lp_printer_admin(snum))) {
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
else {
close_printer_handle(p, handle);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
}
}
doesn't have print permission. */
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
/* map an empty access mask to the minimum access mask */
if (printer_default->access_required == 0x0)
if (!print_access_check(&user, snum, printer_default->access_required)) {
DEBUG(3, ("access DENIED for printer open\n"));
close_printer_handle(p, handle);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
/*
#endif
}
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
if (!Printer) {
DEBUG(0,("_spoolss_enddocprinter_internal: Invalid handle (%s)\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
Printer->document_started=False;
memcpy(&r_u->handle, &q_u->handle, sizeof(r_u->handle));
if (!close_printer_handle(p, handle))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
result = delete_printer_handle(p, handle);
- if (result == ERROR_SUCCESS) {
+ if (result == ERRsuccess) {
srv_spoolss_sendnotify(p, handle);
}
/* check that we have a valid driver name first */
if ((version=get_version_id(arch)) == -1) {
/* this is what NT returns */
- return ERROR_INVALID_ENVIRONMENT;
+ return ERRinvalidenvironment;
}
ZERO_STRUCT(info);
if (get_a_printer_driver (&info, 3, driver, arch, version) != 0) {
/* this is what NT returns */
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
}
if (printer_driver_in_use(arch, driver))
{
/* this is what NT returns */
- return ERROR_PRINTER_DRIVER_IN_USE;
+ return ERRprinterdriverinuse;
}
return delete_printer_driver(info.info_3);
if (!Printer) {
if((*data=(uint8 *)malloc(4*sizeof(uint8))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
DEBUG(0,("_spoolss_getprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
unistr2_to_ascii(value, valuename, sizeof(value)-1);
/* reply this param doesn't exist */
if (*out_size) {
if((*data=(uint8 *)talloc_zero(p->mem_ctx, *out_size*sizeof(uint8))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
} else {
*data = NULL;
}
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
}
if (*needed > *out_size)
- return ERROR_MORE_DATA;
+ return ERRmoredata;
else {
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
}
if (!Printer) {
DEBUG(0,("_spoolss_rffpcnex: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
Printer->notify.flags=flags;
&Printer->notify.client_hnd))
Printer->notify.client_connected=True;
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/*******************************************************************
}
*/
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/*******************************************************************
info->data[i].id, info->data[i].size, info->data[i].enc_type));
}
*/
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
SPOOL_NOTIFY_INFO *info = &r_u->info;
Printer_entry *Printer=find_printer_index_by_hnd(p, handle);
- uint32 result = ERROR_INVALID_HANDLE;
+ uint32 result = ERRbadfid;
/* we always have a NOTIFY_INFO struct */
r_u->info_ptr=0x1;
if (construct_printer_info_1(flags, ¤t_prt, snum)) {
if((printers=Realloc(printers, (*returned +1)*sizeof(PRINTER_INFO_1))) == NULL) {
*returned=0;
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
DEBUG(4,("ReAlloced memory for [%d] PRINTER_INFO_1\n", *returned));
memcpy(&printers[*returned], ¤t_prt, sizeof(PRINTER_INFO_1));
(*needed) += spoolss_size_printer_info_1(&printers[i]);
if (!alloc_buffer_size(buffer, *needed))
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
/* fill the buffer with the structures */
for (i=0; i<*returned; i++)
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
return enum_all_printers_info_1(PRINTER_ENUM_ICON8, buffer, offered, needed, returned);
}
else
- return ERROR_INVALID_NAME;
+ return ERRinvalidname;
}
/********************************************************************
*/
if((printer=(PRINTER_INFO_1 *)malloc(sizeof(PRINTER_INFO_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
*returned=1;
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(printer);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
if (construct_printer_info_2(¤t_prt, snum)) {
if((printers=Realloc(printers, (*returned +1)*sizeof(PRINTER_INFO_2))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
DEBUG(4,("ReAlloced memory for [%d] PRINTER_INFO_2\n", *returned));
memcpy(&printers[*returned], ¤t_prt, sizeof(PRINTER_INFO_2));
(*returned)++;
free_devmode(printers[i].devmode);
}
safe_free(printers);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
if (flags & PRINTER_ENUM_NETWORK)
return enum_all_printers_info_1_network(buffer, offered, needed, returned);
- return NT_STATUS_NOPROBLEMO; /* NT4sp5 does that */
+ return ERRsuccess; /* NT4sp5 does that */
}
/********************************************************************
if (strequal(servername, temp))
return enum_all_printers_info_2(buffer, offered, needed, returned);
else
- return ERROR_INVALID_NAME;
+ return ERRinvalidname;
}
if (flags & PRINTER_ENUM_REMOTE)
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
uint32 *needed, uint32 *returned)
{
/* return enum_all_printers_info_5(buffer, offered, needed, returned);*/
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
case 3:
case 4:
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
PRINTER_INFO_0 *printer=NULL;
if((printer=(PRINTER_INFO_0*)malloc(sizeof(PRINTER_INFO_0))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
construct_printer_info_0(printer, snum);
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(printer);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
safe_free(printer);
if (*needed > offered) {
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
PRINTER_INFO_1 *printer=NULL;
if((printer=(PRINTER_INFO_1*)malloc(sizeof(PRINTER_INFO_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
construct_printer_info_1(PRINTER_ENUM_ICON8, printer, snum);
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(printer);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
safe_free(printer);
if (*needed > offered) {
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
PRINTER_INFO_2 *printer=NULL;
if((printer=(PRINTER_INFO_2*)malloc(sizeof(PRINTER_INFO_2)))==NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
construct_printer_info_2(printer, snum);
if (!alloc_buffer_size(buffer, *needed)) {
free_printer_info_2(printer);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
if (!smb_io_printer_info_2("", buffer, printer, 0)) {
free_printer_info_2(printer);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
/* clear memory */
free_printer_info_2(printer);
if (*needed > offered) {
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
PRINTER_INFO_3 *printer=NULL;
if (!construct_printer_info_3(&printer, snum))
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
/* check the required size. */
*needed += spoolss_size_printer_info_3(printer);
if (!alloc_buffer_size(buffer, *needed)) {
free_printer_info_3(printer);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
free_printer_info_3(printer);
if (*needed > offered) {
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
*needed=0;
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
switch (level) {
case 0:
case 3:
return getprinter_level_3(snum, buffer, offered, needed);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
ZERO_STRUCT(driver);
if (get_a_printer(&printer, 2, lp_servicename(snum)) != 0)
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
if (get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version) != 0)
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
fill_printer_driver_info_1(info, driver, servername, architecture);
free_a_printer(&printer,2);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
ZERO_STRUCT(driver);
if (!get_a_printer(&printer, 2, lp_servicename(snum)) != 0)
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
if (!get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version) != 0)
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
fill_printer_driver_info_2(info, driver, servername);
free_a_printer(&printer,2);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
status=get_a_printer(&printer, 2, lp_servicename(snum) );
DEBUG(8,("construct_printer_driver_info_3: status: %d\n", status));
if (status != 0)
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
status=get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version);
DEBUG(8,("construct_printer_driver_info_3: status: %d\n", status));
if (status != 0) {
free_a_printer(&printer,2);
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
}
fill_printer_driver_info_3(info, driver, servername);
free_a_printer(&printer,2);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
status=get_a_printer(&printer, 2, lp_servicename(snum) );
DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status));
if (status != 0)
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
status=get_a_printer_driver(&driver, 3, printer->info_2->drivername, architecture, version);
DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status));
if (version < 3) {
free_a_printer(&printer,2);
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
}
/* Yes - try again with a WinNT driver. */
DEBUG(8,("construct_printer_driver_info_6: status: %d\n", status));
if (status != 0) {
free_a_printer(&printer,2);
- return ERROR_UNKNOWN_PRINTER_DRIVER;
+ return ERRunknownprinterdriver;
}
}
free_a_printer(&printer,2);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
uint32 status;
if((info=(DRIVER_INFO_1 *)malloc(sizeof(DRIVER_INFO_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
status=construct_printer_driver_info_1(info, snum, servername, architecture, version);
- if (status != NT_STATUS_NOPROBLEMO) {
+ if (status != ERRsuccess) {
safe_free(info);
return status;
}
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
safe_free(info);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
uint32 status;
if((info=(DRIVER_INFO_2 *)malloc(sizeof(DRIVER_INFO_2))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
status=construct_printer_driver_info_2(info, snum, servername, architecture, version);
- if (status != NT_STATUS_NOPROBLEMO) {
+ if (status != ERRsuccess) {
safe_free(info);
return status;
}
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
safe_free(info);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
ZERO_STRUCT(info);
status=construct_printer_driver_info_3(&info, snum, servername, architecture, version);
- if (status != NT_STATUS_NOPROBLEMO) {
+ if (status != ERRsuccess) {
return status;
}
if (!alloc_buffer_size(buffer, *needed)) {
free_printer_driver_info_3(&info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
free_printer_driver_info_3(&info);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
ZERO_STRUCT(info);
status=construct_printer_driver_info_6(&info, snum, servername, architecture, version);
- if (status != NT_STATUS_NOPROBLEMO) {
+ if (status != ERRsuccess) {
return status;
}
if (!alloc_buffer_size(buffer, *needed)) {
free_printer_driver_info_6(&info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
free_printer_driver_info_6(&info);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
unistr2_to_ascii(architecture, uni_arch, sizeof(architecture)-1);
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
switch (level) {
case 1:
case 6:
return getprinterdriver2_level6(servername, architecture, clientmajorversion, snum, buffer, offered, needed);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
}
DEBUG(3,("Error in startpageprinter printer handle\n"));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/****************************************************************************
if (!Printer) {
DEBUG(0,("_spoolss_endpageprinter: Invalid handle (%s).\n",OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
Printer->page_started=False;
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/********************************************************************
if (!Printer) {
DEBUG(0,("_spoolss_startdocprinter: Invalid handle (%s)\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
get_current_user(&user, p);
unistr2_to_ascii(datatype, &info_1->datatype, sizeof(datatype));
if (strcmp(datatype, "RAW") != 0) {
(*jobid)=0;
- return ERROR_INVALID_DATATYPE;
+ return ERRinvaliddatatype;
}
}
/* get the share number of the printer */
if (!get_printer_snum(p, handle, &snum)) {
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
unistr2_to_ascii(jobname, &info_1->docname, sizeof(jobname));
if (!Printer) {
DEBUG(0,("_spoolss_writeprinter: Invalid handle (%s)\n",OUR_HANDLE(handle)));
r_u->buffer_written = q_u->buffer_size2;
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
(*buffer_written) = print_job_write(Printer->jobid, (char *)buffer, buffer_size);
pipes_struct *p)
{
struct current_user user;
- int snum, errcode = ERROR_INVALID_FUNCTION;
+ int snum, errcode = ERRbadfunc;
Printer_entry *Printer = find_printer_index_by_hnd(p, handle);
get_current_user(&user, p);
if (!Printer) {
DEBUG(0,("control_printer: Invalid handle (%s)\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
switch (command) {
case PRINTER_CONTROL_PAUSE:
}
break;
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
return errcode;
DEBUG(0,("update_printer_sec: Invalid handle (%s)\n",
OUR_HANDLE(handle)));
- result = ERROR_INVALID_HANDLE;
+ result = ERRbadfid;
goto done;
}
new_secdesc_ctr = sec_desc_merge(p->mem_ctx, secdesc_ctr, old_secdesc_ctr);
if (sec_desc_equal(new_secdesc_ctr->sec, old_secdesc_ctr->sec)) {
- result = NT_STATUS_NOPROBLEMO;
+ result = ERRsuccess;
goto done;
}
information. */
if (!print_access_check(&user, snum, PRINTER_ACCESS_ADMINISTER)) {
- result = ERROR_ACCESS_DENIED;
+ result = ERRnoaccess;
goto done;
}
DEBUG(8,("update_printer\n"));
- result = NT_STATUS_NOPROBLEMO;
+ result = ERRsuccess;
if (level!=2) {
DEBUG(0,("Send a mail to samba@samba.org\n"));
DEBUGADD(0,("with the following message: update_printer: level!=2\n"));
- result = ERROR_INVALID_LEVEL;
+ result = ERRunknownlevel;
goto done;
}
if (!Printer) {
- result = ERROR_INVALID_HANDLE;
+ result = ERRbadfid;
goto done;
}
if (!get_printer_snum(p, handle, &snum)) {
- result = ERROR_INVALID_HANDLE;
+ result = ERRbadfid;
goto done;
}
if((get_a_printer(&printer, 2, lp_servicename(snum)) != 0) ||
(get_a_printer(&old_printer, 2, lp_servicename(snum)) != 0)) {
- result = ERROR_INVALID_HANDLE;
+ result = ERRbadfid;
goto done;
}
DEBUGADD(8,("Converting the devicemode struct\n"));
if (!convert_devicemode(printer->info_2->printername, devmode,
&printer->info_2->devmode)) {
- result = ERROR_NOT_ENOUGH_MEMORY;
+ result = ERRnomem;
goto done;
}
}
/* Do sanity check on the requested changes for Samba */
if (!check_printer_ok(printer->info_2, snum)) {
- result = ERROR_INVALID_PARAMETER;
+ result = ERRinvalidparam;
goto done;
}
if (nt_printer_info_level_equal(printer, old_printer)) {
DEBUG(3, ("printer info has not changed\n"));
- result = NT_STATUS_NOPROBLEMO;
+ result = ERRsuccess;
goto done;
}
if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) {
DEBUG(3, ("printer property change denied by security "
"descriptor\n"));
- result = ERROR_ACCESS_DENIED;
+ result = ERRnoaccess;
goto done;
}
if (*lp_addprinter_cmd() )
if ( !add_printer_hook(printer) ) {
- result = ERROR_ACCESS_DENIED;
+ result = ERRnoaccess;
goto done;
}
if (add_a_printer(*printer, 2)!=0) {
/* I don't really know what to return here !!! */
- result = ERROR_ACCESS_DENIED;
+ result = ERRnoaccess;
goto done;
}
if (!Printer) {
DEBUG(0,("_spoolss_setprinter: Invalid handle (%s)\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/* check the level */
return update_printer_sec(handle, level, info, p,
secdesc_ctr);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
if (!Printer) {
DEBUG(0,("_spoolss_fcpn: Invalid handle (%s)\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (Printer->notify.client_connected==True)
free_spool_notify_option(&Printer->notify.option);
Printer->notify.client_connected=False;
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
spoolss_move_buffer(q_u->buffer, &r_u->buffer);
r_u->needed = 0;
- return ERROR_INVALID_PARAMETER; /* this is what a NT server
+ return ERRinvalidparam; /* this is what a NT server
returns for AddJob. AddJob
must fail on non-local
printers */
if (info==NULL) {
safe_free(queue);
*returned=0;
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<*returned; i++)
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
info=(JOB_INFO_2 *)malloc(*returned*sizeof(JOB_INFO_2));
if (info==NULL) {
*returned=0;
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
if (get_a_printer(&ntprinter, 2, lp_servicename(snum)) !=0) {
*returned = 0;
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<*returned; i++)
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
*returned=0;
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
*returned = print_queue_status(snum, &queue, &prt_status);
DEBUGADD(4,("count:[%d], status:[%d], [%s]\n", *returned, prt_status.status, prt_status.message));
if (*returned == 0) {
safe_free(queue);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
switch (level) {
default:
safe_free(queue);
*returned=0;
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
struct current_user user;
print_status_struct prt_status;
- int snum, errcode = ERROR_INVALID_FUNCTION;
+ int snum, errcode = ERRbadfunc;
memset(&prt_status, 0, sizeof(prt_status));
if (!get_printer_snum(p, handle, &snum)) {
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (!print_job_exists(jobid)) {
- return ERROR_INVALID_PRINTER_NAME;
+ return ERRinvalidprintername;
}
get_current_user(&user, p);
}
break;
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
return errcode;
DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version));
if(ndrivers == -1)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
if(ndrivers != 0) {
if((driver_info_1=(DRIVER_INFO_1 *)Realloc(driver_info_1, (*returned+ndrivers) * sizeof(DRIVER_INFO_1))) == NULL) {
safe_free(list);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
}
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(driver_info_1);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the driver structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version));
if(ndrivers == -1)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
if(ndrivers != 0) {
if((driver_info_2=(DRIVER_INFO_2 *)Realloc(driver_info_2, (*returned+ndrivers) * sizeof(DRIVER_INFO_2))) == NULL) {
safe_free(list);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
}
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(driver_info_2);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the form structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
DEBUGADD(4,("we have:[%d] drivers in environment [%s] and version [%d]\n", ndrivers, architecture, version));
if(ndrivers == -1)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
if(ndrivers != 0) {
if((driver_info_3=(DRIVER_INFO_3 *)Realloc(driver_info_3, (*returned+ndrivers) * sizeof(DRIVER_INFO_3))) == NULL) {
safe_free(list);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
}
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(driver_info_3);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the driver structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
default:
*returned=0;
safe_free(list);
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
DEBUGADD(5,("Number of user forms [%d]\n", *numofforms));
*numofforms += numbuiltinforms;
- if (*numofforms == 0) return ERROR_NO_MORE_ITEMS;
+ if (*numofforms == 0) return ERRnomoreitems;
switch (level) {
case 1:
if ((forms_1=(FORM_1 *)malloc(*numofforms * sizeof(FORM_1))) == NULL) {
*numofforms=0;
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
/* construct the list of form structures */
if (!alloc_buffer_size(buffer, buffer_size)){
safe_free(forms_1);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the form structures */
if (*needed > offered) {
*numofforms=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
default:
safe_free(list);
safe_free(builtinlist);
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
DEBUGADD(5,("Number of forms [%d]\n", numofforms));
if (numofforms == 0)
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
switch (level) {
safe_free(list);
if (i == numofforms) {
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
}
/* check the required size. */
*needed=spoolss_size_form_1(&form_1);
if (!alloc_buffer_size(buffer, buffer_size)){
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
if (*needed > offered) {
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the form structures */
DEBUGADD(6,("adding form %s [%d] to buffer\n", form_name, i));
smb_io_form_1("", buffer, &form_1, 0);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
default:
safe_free(list);
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
if (fd != -1)
close(fd);
/* Is this the best error to return here? */
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
numlines = 0;
if(numlines) {
if((ports=(PORT_INFO_1 *)malloc( numlines * sizeof(PORT_INFO_1) )) == NULL) {
- DEBUG(10,("Returning ERROR_NOT_ENOUGH_MEMORY [%x]\n", ERROR_NOT_ENOUGH_MEMORY));
+ DEBUG(10,("Returning ERRnomem [%x]\n", ERRnomem));
file_lines_free(qlines);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<numlines; i++) {
*returned = 1; /* Sole Samba port returned. */
if((ports=(PORT_INFO_1 *)malloc( sizeof(PORT_INFO_1) )) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
DEBUG(10,("enumports_level_1: port name %s\n", SAMBA_PRINTER_PORT_NAME));
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(ports);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the ports structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
if (fd != -1)
close(fd);
/* Is this the best error to return here? */
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
numlines = 0;
if(numlines) {
if((ports=(PORT_INFO_2 *)malloc( numlines * sizeof(PORT_INFO_2) )) == NULL) {
- DEBUG(10,("Returning ERROR_NOT_ENOUGH_MEMORY [%x]\n", ERROR_NOT_ENOUGH_MEMORY));
+ DEBUG(10,("Returning ERRnomem [%x]\n", ERRnomem));
file_lines_free(qlines);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<numlines; i++) {
*returned = 1;
if((ports=(PORT_INFO_2 *)malloc( sizeof(PORT_INFO_2) )) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
DEBUG(10,("enumports_level_2: port name %s\n", SAMBA_PRINTER_PORT_NAME));
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(ports);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
/* fill the buffer with the ports structures */
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 2:
return enumports_level_2(buffer, offered, needed, returned);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
if ((printer = (NT_PRINTER_INFO_LEVEL *)malloc(sizeof(NT_PRINTER_INFO_LEVEL))) == NULL) {
DEBUG(0,("spoolss_addprinterex_level_2: malloc fail.\n"));
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
ZERO_STRUCTP(printer);
if (*lp_addprinter_cmd() )
if ( !add_printer_hook(printer) ) {
free_a_printer(&printer,2);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
slprintf(name, sizeof(name)-1, "\\\\%s\\%s", global_myname,
if ((snum = print_queue_snum(printer->info_2->sharename)) == -1) {
free_a_printer(&printer,2);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
/* you must be a printer admin to add a new printer */
if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) {
free_a_printer(&printer,2);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
/*
if (!check_printer_ok(printer->info_2, snum)) {
free_a_printer(&printer,2);
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
}
/* write the ASCII on disk */
if (add_a_printer(*printer, 2) != 0) {
free_a_printer(&printer,2);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
if (!open_printer_hnd(p, handle, name)) {
/* Handle open failed - remove addition. */
del_a_printer(printer->info_2->sharename);
free_a_printer(&printer,2);
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
free_a_printer(&printer,2);
srv_spoolss_sendnotify(p, handle);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 1:
/* we don't handle yet */
/* but I know what to do ... */
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
case 2:
return spoolss_addprinterex_level_2(p, uni_srv_name, info,
unk0, unk1, unk2, unk3,
user_switch, user, handle);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
uint32 level = q_u->level;
SPOOL_PRINTER_DRIVER_INFO_LEVEL *info = &q_u->info;
- uint32 err = NT_STATUS_NOPROBLEMO;
+ uint32 err = ERRsuccess;
NT_PRINTER_DRIVER_INFO_LEVEL driver;
struct current_user user;
convert_printer_driver_info(info, &driver, level);
DEBUG(5,("Cleaning driver's information\n"));
- if ((err = clean_up_driver_struct(driver, level, &user)) != NT_STATUS_NOPROBLEMO )
+ if ((err = clean_up_driver_struct(driver, level, &user)) != ERRsuccess )
goto done;
DEBUG(5,("Moving driver to final destination\n"));
if(!move_driver_to_download_area(driver, level, &user, &err)) {
if (err == 0)
- err = ERROR_ACCESS_DENIED;
+ err = ERRnoaccess;
goto done;
}
if (add_a_printer_driver(driver, level)!=0) {
- err = ERROR_ACCESS_DENIED;
+ err = ERRnoaccess;
goto done;
}
unistr2_to_ascii(long_archi, uni_environment, sizeof(long_archi)-1);
if (get_short_archi(short_archi, long_archi)==FALSE)
- return ERROR_INVALID_ENVIRONMENT;
+ return ERRinvalidenvironment;
if((info=(DRIVER_DIRECTORY_1 *)malloc(sizeof(DRIVER_DIRECTORY_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
slprintf(path, sizeof(path)-1, "\\\\%s\\print$\\%s", global_myname, short_archi);
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
smb_io_driverdir_1("", buffer, info, 0);
safe_free(info);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 1:
return getprinterdriverdir_level_1(name, uni_environment, buffer, offered, needed);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
if (!Printer) {
DEBUG(0,("_spoolss_enumprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (!get_printer_snum(p,handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
if (get_a_printer(&printer, 2, lp_servicename(snum)) != 0)
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
/*
* The NT machine wants to know the biggest size of value and data
if (!get_specific_param_by_index(*printer, 2, idx, value, &data, &type, &data_len)) {
safe_free(data);
free_a_printer(&printer, 2);
- return ERROR_NO_MORE_ITEMS;
+ return ERRnomoreitems;
}
#endif
if (param_index == 0) {
/* No parameters found. */
free_a_printer(&printer, 2);
- return ERROR_NO_MORE_ITEMS;
+ return ERRnomoreitems;
}
/* the value is an UNICODE string but realvaluesize is the length in bytes including the leading 0 */
DEBUG(6,("final values: [%d], [%d]\n", *out_value_len, *out_data_len));
free_a_printer(&printer, 2);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/*
if (!get_specific_param_by_index(*printer, 2, idx, value, &data, &type, &data_len)) {
safe_free(data);
free_a_printer(&printer, 2);
- return ERROR_NO_MORE_ITEMS;
+ return ERRnomoreitems;
}
free_a_printer(&printer, 2);
*out_max_value_len=(in_value_len/sizeof(uint16));
if((*out_value=(uint16 *)talloc_zero(p->mem_ctx,in_value_len*sizeof(uint8))) == NULL) {
safe_free(data);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
*out_value_len = rpcstr_push((char *)*out_value,value, in_value_len, 0);
*out_max_data_len=in_data_len;
if((*data_out=(uint8 *)talloc_zero(p->mem_ctx, in_data_len*sizeof(uint8))) == NULL) {
safe_free(data);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
memcpy(*data_out, data, (size_t)data_len);
safe_free(data);
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
if (!Printer) {
DEBUG(0,("_spoolss_setprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (!get_printer_snum(p,handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
status = get_a_printer(&printer, 2, lp_servicename(snum));
if (status != 0x0)
- return ERROR_INVALID_NAME;
+ return ERRinvalidname;
convert_specific_param(¶m, value , type, data, real_len);
old_param.data_len) == 0) {
DEBUG(3, ("setprinterdata hasn't changed\n"));
- status = NT_STATUS_NOPROBLEMO;
+ status = ERRsuccess;
goto done;
}
}
if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) {
DEBUG(3, ("security descriptor change denied by existing "
"security descriptor\n"));
- status = ERROR_ACCESS_DENIED;
+ status = ERRnoaccess;
goto done;
}
if (!Printer) {
DEBUG(0,("_spoolss_deleteprinterdata: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
if (!print_access_check(NULL, snum, PRINTER_ACCESS_ADMINISTER)) {
DEBUG(3, ("_spoolss_deleteprinterdata: printer properties "
"change denied by existing security descriptor\n"));
- return ERROR_ACCESS_DENIED;
+ return ERRnoaccess;
}
status = get_a_printer(&printer, 2, lp_servicename(snum));
if (status != 0x0)
- return ERROR_INVALID_NAME;
+ return ERRinvalidname;
ZERO_STRUCTP(¶m);
unistr2_to_ascii(param.value, value, sizeof(param.value)-1);
if(!unlink_specific_param_if_exist(printer->info_2, ¶m))
- status = ERROR_INVALID_PARAMETER;
+ status = ERRinvalidparam;
else
status = mod_a_printer(*printer, 2);
if (!Printer) {
DEBUG(0,("_spoolss_addform: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/* can't add if builtin */
if (get_a_builtin_ntform(&form->name,&tmpForm)) {
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
}
count=get_ntforms(&list);
if(!add_a_form(&list, form, &count))
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
write_ntforms(&list, count);
safe_free(list);
if (!Printer) {
DEBUG(0,("_spoolss_deleteform: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/* can't delete if builtin */
if (get_a_builtin_ntform(form_name,&tmpForm)) {
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
}
count = get_ntforms(&list);
if(!delete_a_form(&list, form_name, &count, &ret))
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
safe_free(list);
if (!Printer) {
DEBUG(0,("_spoolss_setform: Invalid handle (%s).\n", OUR_HANDLE(handle)));
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
}
/* can't set if builtin */
if (get_a_builtin_ntform(&form->name,&tmpForm)) {
- return ERROR_INVALID_PARAMETER;
+ return ERRinvalidparam;
}
count=get_ntforms(&list);
PRINTPROCESSOR_1 *info_1=NULL;
if((info_1 = (PRINTPROCESSOR_1 *)malloc(sizeof(PRINTPROCESSOR_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
(*returned) = 0x1;
*needed += spoolss_size_printprocessor_info_1(info_1);
if (!alloc_buffer_size(buffer, *needed))
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
smb_io_printprocessor_info_1("", buffer, info_1, 0);
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 1:
return enumprintprocessors_level_1(buffer, offered, needed, returned);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
PRINTPROCDATATYPE_1 *info_1=NULL;
if((info_1 = (PRINTPROCDATATYPE_1 *)malloc(sizeof(PRINTPROCDATATYPE_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
(*returned) = 0x1;
*needed += spoolss_size_printprocdatatype_info_1(info_1);
if (!alloc_buffer_size(buffer, *needed))
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
smb_io_printprocdatatype_info_1("", buffer, info_1, 0);
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 1:
return enumprintprocdatatypes_level_1(buffer, offered, needed, returned);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
PRINTMONITOR_1 *info_1=NULL;
if((info_1 = (PRINTMONITOR_1 *)malloc(sizeof(PRINTMONITOR_1))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
(*returned) = 0x1;
*needed += spoolss_size_printmonitor_info_1(info_1);
if (!alloc_buffer_size(buffer, *needed))
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
smb_io_printmonitor_info_1("", buffer, info_1, 0);
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
PRINTMONITOR_2 *info_2=NULL;
if((info_2 = (PRINTMONITOR_2 *)malloc(sizeof(PRINTMONITOR_2))) == NULL)
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
(*returned) = 0x1;
*needed += spoolss_size_printmonitor_info_2(info_2);
if (!alloc_buffer_size(buffer, *needed))
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
smb_io_printmonitor_info_2("", buffer, info_2, 0);
if (*needed > offered) {
*returned=0;
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
case 2:
return enumprintmonitors_level_2(buffer, offered, needed, returned);
default:
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}
if (info_1 == NULL) {
safe_free(queue);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<count && found==False; i++) {
safe_free(queue);
safe_free(info_1);
/* I shoud reply something else ... I can't find the good one */
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
fill_job_info_1(info_1, &(queue[i-1]), i, snum);
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info_1);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
smb_io_job_info_1("", buffer, info_1, 0);
safe_free(info_1);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
if (info_2 == NULL) {
safe_free(queue);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
for (i=0; i<count && found==False; i++) {
safe_free(queue);
safe_free(info_2);
/* I shoud reply something else ... I can't find the good one */
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
if (get_a_printer(&ntprinter, 2, lp_servicename(snum)) !=0) {
safe_free(queue);
- return ERROR_NOT_ENOUGH_MEMORY;
+ return ERRnomem;
}
fill_job_info_2(info_2, &(queue[i-1]), i, snum, ntprinter);
if (!alloc_buffer_size(buffer, *needed)) {
safe_free(info_2);
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
}
smb_io_job_info_2("", buffer, info_2, 0);
free(info_2);
if (*needed > offered)
- return ERROR_INSUFFICIENT_BUFFER;
+ return ERRinsufficientbuffer;
else
- return NT_STATUS_NOPROBLEMO;
+ return ERRsuccess;
}
/****************************************************************************
*needed=0;
if (!get_printer_snum(p, handle, &snum))
- return ERROR_INVALID_HANDLE;
+ return ERRbadfid;
count = print_queue_status(snum, &queue, &prt_status);
return getjob_level_2(queue, count, snum, jobid, buffer, offered, needed);
default:
safe_free(queue);
- return ERROR_INVALID_LEVEL;
+ return ERRunknownlevel;
}
}