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