00001 /* 00002 Unix SMB/CIFS implementation. 00003 RPC pipe client 00004 00005 Copyright (C) Tim Potter 2000 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 2 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program; if not, write to the Free Software 00019 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00020 */ 00021 00022 #ifndef RPCCLIENT_H 00023 #define RPCCLIENT_H 00024 00025 typedef enum { 00026 RPC_RTYPE_NTSTATUS = 0, 00027 RPC_RTYPE_WERROR, 00028 MAX_RPC_RETURN_TYPE 00029 } RPC_RETURN_TYPE; 00030 00031 struct cmd_set { 00032 const char *name; 00033 RPC_RETURN_TYPE returntype; 00034 NTSTATUS (*ntfn)(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, 00035 const char **argv); 00036 WERROR (*wfn)(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, int argc, const char **argv); 00037 int pipe_idx; 00038 struct rpc_pipe_client *rpc_pipe; 00039 const char *description; 00040 const char *usage; 00041 }; 00042 00043 #endif /* RPCCLIENT_H */