cli_shutdown.c

来自「samba-3.0.22.tar.gz 编译smb服务器的源码」· C语言 代码 · 共 120 行

C
120
字号
/*    Unix SMB/CIFS implementation.   RPC Pipe client    Copyright (C) Andrew Tridgell              1992-1998,   Largely rewritten by Jeremy Allison (C)	   2005.   Copyright (C) Jim McDonough (jmcd@us.ibm.com)   2003.      This program is free software; you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 2 of the License, or   (at your option) any later version.      This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.      You should have received a copy of the GNU General Public License   along with this program; if not, write to the Free Software   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.*/#include "includes.h"/* Shutdown a server */NTSTATUS rpccli_shutdown_init(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,			   const char *msg, uint32 timeout, BOOL do_reboot,			   BOOL force){	prs_struct qbuf;	prs_struct rbuf; 	SHUTDOWN_Q_INIT q;	SHUTDOWN_R_INIT r;	WERROR result = WERR_GENERAL_FAILURE;	if (msg == NULL) 		return NT_STATUS_INVALID_PARAMETER;	ZERO_STRUCT (q);	ZERO_STRUCT (r);	/* Marshall data and send request */	init_shutdown_q_init(&q, msg, timeout, do_reboot, force);	CLI_DO_RPC(cli, mem_ctx, PI_SHUTDOWN, SHUTDOWN_INIT,		q, r,		qbuf, rbuf,		shutdown_io_q_init,		shutdown_io_r_init,		NT_STATUS_UNSUCCESSFUL);	result = r.status;	return werror_to_ntstatus(result);}/* Shutdown a server */NTSTATUS rpccli_shutdown_init_ex(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx,			   const char *msg, uint32 timeout, BOOL do_reboot,			   BOOL force, uint32 reason){	prs_struct qbuf;	prs_struct rbuf; 	SHUTDOWN_Q_INIT_EX q;	SHUTDOWN_R_INIT_EX r;	WERROR result = WERR_GENERAL_FAILURE;	if (msg == NULL) 		return NT_STATUS_INVALID_PARAMETER;	ZERO_STRUCT (q);	ZERO_STRUCT (r);	/* Marshall data and send request */	init_shutdown_q_init_ex(&q, msg, timeout, do_reboot, force, reason);	CLI_DO_RPC(cli, mem_ctx, PI_SHUTDOWN, SHUTDOWN_INIT_EX,		q, r,		qbuf, rbuf,		shutdown_io_q_init_ex,		shutdown_io_r_init_ex,		NT_STATUS_UNSUCCESSFUL);	result = r.status;	return werror_to_ntstatus(result);}/* Abort a server shutdown */NTSTATUS rpccli_shutdown_abort(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx){	prs_struct rbuf;	prs_struct qbuf; 	SHUTDOWN_Q_ABORT q;	SHUTDOWN_R_ABORT r;	WERROR result = WERR_GENERAL_FAILURE;	ZERO_STRUCT (q);	ZERO_STRUCT (r);	/* Marshall data and send request */	init_shutdown_q_abort(&q);	CLI_DO_RPC(cli, mem_ctx, PI_SHUTDOWN, SHUTDOWN_ABORT,		q, r,		qbuf, rbuf,		shutdown_io_q_abort,		shutdown_io_r_abort,		NT_STATUS_UNSUCCESSFUL);	result = r.status;	return werror_to_ntstatus(result);}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?