svn commit: samba r24152 - in branches/SAMBA_3_2/source/smbd: .
vlendec at samba.org
vlendec at samba.org
Fri Aug 3 11:57:41 GMT 2007
Author: vlendec
Date: 2007-08-03 11:57:39 +0000 (Fri, 03 Aug 2007)
New Revision: 24152
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=24152
Log:
Convert call_trans2ioctl to the new API
Modified:
branches/SAMBA_3_2/source/smbd/trans2.c
Changeset:
Modified: branches/SAMBA_3_2/source/smbd/trans2.c
===================================================================
--- branches/SAMBA_3_2/source/smbd/trans2.c 2007-08-03 10:51:59 UTC (rev 24151)
+++ branches/SAMBA_3_2/source/smbd/trans2.c 2007-08-03 11:57:39 UTC (rev 24152)
@@ -6737,23 +6737,28 @@
Reply to a TRANS2_IOCTL - used for OS/2 printing.
****************************************************************************/
-static int call_trans2ioctl(connection_struct *conn, char* inbuf, char* outbuf, int length, int bufsize,
- char **pparams, int total_params, char **ppdata, int total_data,
- unsigned int max_data_bytes)
+static void call_trans2ioctl(connection_struct *conn,
+ struct smb_request *req,
+ char **pparams, int total_params,
+ char **ppdata, int total_data,
+ unsigned int max_data_bytes)
{
char *pdata = *ppdata;
- files_struct *fsp = file_fsp(SVAL(inbuf,smb_vwv15));
+ files_struct *fsp = file_fsp(SVAL(req->inbuf,smb_vwv15));
/* check for an invalid fid before proceeding */
- if (!fsp)
- return(ERROR_DOS(ERRDOS,ERRbadfid));
+ if (!fsp) {
+ reply_doserror(req, ERRDOS, ERRbadfid);
+ return;
+ }
- if ((SVAL(inbuf,(smb_setup+4)) == LMCAT_SPL) &&
- (SVAL(inbuf,(smb_setup+6)) == LMFUNC_GETJOBID)) {
+ if ((SVAL(req->inbuf,(smb_setup+4)) == LMCAT_SPL)
+ && (SVAL(req->inbuf,(smb_setup+6)) == LMFUNC_GETJOBID)) {
*ppdata = (char *)SMB_REALLOC(*ppdata, 32);
if (*ppdata == NULL) {
- return ERROR_NT(NT_STATUS_NO_MEMORY);
+ reply_nterror(req, NT_STATUS_NO_MEMORY);
+ return;
}
pdata = *ppdata;
@@ -6761,18 +6766,19 @@
CAN ACCEPT THIS IN UNICODE. JRA. */
SSVAL(pdata,0,fsp->rap_print_jobid); /* Job number */
- srvstr_push( outbuf, SVAL(outbuf, smb_flg2), pdata + 2,
- global_myname(), 15,
- STR_ASCII|STR_TERMINATE); /* Our NetBIOS name */
- srvstr_push( outbuf, SVAL(outbuf, smb_flg2), pdata+18,
- lp_servicename(SNUM(conn)), 13,
- STR_ASCII|STR_TERMINATE); /* Service name */
- send_trans2_replies(inbuf, outbuf,bufsize,*pparams,0,*ppdata,32, max_data_bytes);
- return(-1);
- } else {
- DEBUG(2,("Unknown TRANS2_IOCTL\n"));
- return ERROR_DOS(ERRSRV,ERRerror);
+ srvstr_push(pdata, req->flags2, pdata + 2,
+ global_myname(), 15,
+ STR_ASCII|STR_TERMINATE); /* Our NetBIOS name */
+ srvstr_push(pdata, req->flags2, pdata+18,
+ lp_servicename(SNUM(conn)), 13,
+ STR_ASCII|STR_TERMINATE); /* Service name */
+ send_trans2_replies_new(req, *pparams, 0, *ppdata, 32,
+ max_data_bytes);
+ return;
}
+
+ DEBUG(2,("Unknown TRANS2_IOCTL\n"));
+ reply_doserror(req, ERRSRV, ERRerror);
}
/****************************************************************************
@@ -6964,11 +6970,10 @@
case TRANSACT2_IOCTL:
{
START_PROFILE(Trans2_ioctl);
- outsize = call_trans2ioctl(
- conn, inbuf, outbuf, size, bufsize,
- &state->param, state->total_param,
- &state->data, state->total_data,
- state->max_data_return);
+ call_trans2ioctl(conn, req,
+ &state->param, state->total_param,
+ &state->data, state->total_data,
+ state->max_data_return);
END_PROFILE(Trans2_ioctl);
break;
}
More information about the samba-cvs
mailing list