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 + -
显示快捷键?