/****************************************************************************
  reply to a close
****************************************************************************/
int reply_pipe_close(char *inbuf,char *outbuf, int threadid)
{
	pipes_struct *p = get_rpc_pipe_p(inbuf,smb_vwv0, threadid);
	int outsize = set_message(outbuf,0,0,True);

	if (!p)
		return(ERROR(ERRDOS,ERRbadfid));
//0507	DEBUG(5,("reply_pipe_close: pnum:%x\n", p->pnum));

	if (!close_rpc_pipe_hnd(p, threadid))
		return(ERROR(ERRDOS,ERRbadfid));

	return(outsize);
}
Exemple #2
0
/****************************************************************************
  reply to a close
****************************************************************************/
int reply_pipe_close(connection_struct *conn, char *inbuf,char *outbuf)
{
	pipes_struct *p = get_rpc_pipe_p(inbuf,smb_vwv0);
	int outsize = set_message(outbuf,0,0,True);

	if (!p)
		return(ERROR(ERRDOS,ERRbadfid));

	DEBUG(5,("reply_pipe_close: pnum:%x\n", p->pnum));

	if (!close_rpc_pipe_hnd(p, conn))
		return(ERROR(ERRDOS,ERRbadfid));

	return(outsize);
}
Exemple #3
0
void reply_pipe_close(connection_struct *conn, struct smb_request *req)
{
	smb_np_struct *p = get_rpc_pipe_p(SVAL(req->inbuf,smb_vwv0));

	if (!p) {
		reply_doserror(req, ERRDOS, ERRbadfid);
		return;
	}

	DEBUG(5,("reply_pipe_close: pnum:%x\n", p->pnum));

	if (!close_rpc_pipe_hnd(p)) {
		reply_doserror(req, ERRDOS, ERRbadfid);
		return;
	}
	
	/* TODO: REMOVE PIPE FROM DB */

	reply_outbuf(req, 0, 0);
	return;
}