2001-10-12 09:59:41 +04:00
/*
2002-01-30 09:08:46 +03:00
Unix SMB / CIFS implementation .
2001-10-12 09:59:41 +04:00
RPC pipe client
Copyright ( C ) Tim Potter 2000
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
2007-07-09 23:25:36 +04:00
the Free Software Foundation ; either version 3 of the License , or
2001-10-12 09:59:41 +04:00
( 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
2007-07-10 04:52:41 +04:00
along with this program . If not , see < http : //www.gnu.org/licenses/>.
2001-10-12 09:59:41 +04:00
*/
# ifndef RPCCLIENT_H
# define RPCCLIENT_H
2011-03-31 01:21:42 +04:00
# include "rpc_client/cli_pipe.h"
2003-03-18 09:30:30 +03:00
typedef enum {
RPC_RTYPE_NTSTATUS = 0 ,
RPC_RTYPE_WERROR ,
2021-02-06 23:33:41 +03:00
RPC_RTYPE_BINDING ,
2003-10-28 02:43:15 +03:00
MAX_RPC_RETURN_TYPE
2003-03-18 09:30:30 +03:00
} RPC_RETURN_TYPE ;
2001-10-12 09:59:41 +04:00
struct cmd_set {
2003-01-03 11:28:12 +03:00
const char * name ;
2005-09-30 21:13:37 +04:00
RPC_RETURN_TYPE returntype ;
NTSTATUS ( * ntfn ) ( struct rpc_pipe_client * cli , TALLOC_CTX * mem_ctx , int argc ,
const char * * argv ) ;
WERROR ( * wfn ) ( struct rpc_pipe_client * cli , TALLOC_CTX * mem_ctx , int argc , const char * * argv ) ;
2021-02-06 23:33:41 +03:00
NTSTATUS ( * bfn ) ( struct dcerpc_binding * binding ,
TALLOC_CTX * mem_ctx ,
int argc ,
const char * * argv ) ;
2012-01-10 14:53:42 +04:00
const struct ndr_interface_table * table ;
2005-09-30 21:13:37 +04:00
struct rpc_pipe_client * rpc_pipe ;
2003-01-03 11:28:12 +03:00
const char * description ;
const char * usage ;
2015-03-26 16:41:09 +03:00
bool use_netlogon_creds ;
2001-10-12 09:59:41 +04:00
} ;
2013-09-16 20:24:44 +04:00
extern struct messaging_context * rpcclient_msg_ctx ;
2013-09-16 20:29:30 +04:00
extern struct netlogon_creds_cli_context * rpcclient_netlogon_creds ;
2013-09-13 13:06:00 +04:00
2001-10-12 09:59:41 +04:00
# endif /* RPCCLIENT_H */