2010-07-07 23:24:00 +04:00
/*
Unix SMB / Netbios implementation .
RPC Server Headers
Copyright ( C ) Simo Sorce 2010
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 3 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 , see < http : //www.gnu.org/licenses/>.
*/
# ifndef _RPC_NCACN_NP_H_
# define _RPC_NCACN_NP_H_
2011-04-29 18:20:27 +04:00
struct dcerpc_binding_handle ;
2011-04-30 00:32:12 +04:00
struct ndr_interface_table ;
2011-04-30 01:32:28 +04:00
struct tsocket_address ;
2011-04-29 18:20:27 +04:00
2013-09-24 13:27:35 +04:00
struct npa_state {
struct tstream_context * stream ;
struct tevent_queue * read_queue ;
struct tevent_queue * write_queue ;
uint64_t allocation_size ;
uint16_t device_state ;
uint16_t file_type ;
void * private_data ;
} ;
2013-09-24 13:28:29 +04:00
NTSTATUS make_external_rpc_pipe ( TALLOC_CTX * mem_ctx ,
const char * pipe_name ,
2017-03-17 00:29:02 +03:00
const struct tsocket_address * remote_client_address ,
const struct tsocket_address * local_server_address ,
2013-09-24 13:28:29 +04:00
const struct auth_session_info * session_info ,
2013-09-24 13:28:39 +04:00
struct npa_state * * pnpa ) ;
2018-04-11 11:42:21 +03:00
NTSTATUS make_internal_rpc_pipe_socketpair (
TALLOC_CTX * mem_ctx ,
struct tevent_context * ev_ctx ,
struct messaging_context * msg_ctx ,
const char * pipe_name ,
const struct ndr_syntax_id * syntax ,
const struct tsocket_address * remote_address ,
const struct tsocket_address * local_address ,
const struct auth_session_info * session_info ,
struct npa_state * * pnpa ) ;
2013-09-25 13:35:41 +04:00
2010-07-07 23:24:30 +04:00
NTSTATUS rpcint_binding_handle ( TALLOC_CTX * mem_ctx ,
const struct ndr_interface_table * ndr_table ,
2011-06-07 19:21:28 +04:00
const struct tsocket_address * remote_address ,
2017-02-24 03:29:12 +03:00
const struct tsocket_address * local_address ,
2011-07-18 07:06:47 +04:00
const struct auth_session_info * session_info ,
2010-07-07 23:24:30 +04:00
struct messaging_context * msg_ctx ,
struct dcerpc_binding_handle * * binding_handle ) ;
NTSTATUS rpc_pipe_open_interface ( TALLOC_CTX * mem_ctx ,
2013-05-17 18:44:05 +04:00
const struct ndr_interface_table * table ,
2011-07-18 07:06:47 +04:00
const struct auth_session_info * session_info ,
2011-06-07 19:21:28 +04:00
const struct tsocket_address * remote_address ,
2017-02-24 03:29:12 +03:00
const struct tsocket_address * local_address ,
2010-07-07 23:24:30 +04:00
struct messaging_context * msg_ctx ,
struct rpc_pipe_client * * cli_pipe ) ;
2011-04-29 18:40:24 +04:00
2011-08-12 13:19:09 +04:00
NTSTATUS rpc_pipe_open_internal ( TALLOC_CTX * mem_ctx ,
2016-09-24 03:08:47 +03:00
const struct ndr_interface_table * ndr_table ,
2011-08-12 13:19:09 +04:00
const struct auth_session_info * session_info ,
const struct tsocket_address * remote_address ,
2017-02-24 03:29:12 +03:00
const struct tsocket_address * local_address ,
2011-08-12 13:19:09 +04:00
struct messaging_context * msg_ctx ,
struct rpc_pipe_client * * presult ) ;
2010-07-07 23:24:00 +04:00
# endif /* _RPC_NCACN_NP_H_ */