2 Unix SMB/CIFS implementation.
4 DCERPC client side interface structures
6 Copyright (C) 2008 Jelmer Vernooij
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 3 of the License, or
11 (at your option) any later version.
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
18 You should have received a copy of the GNU General Public License
19 along with this program. If not, see <http://www.gnu.org/licenses/>.
22 /* This is a public header file that is installed as part of Samba.
23 * If you remove any functions or change their signature, update
24 * the so version number. */
30 #include "librpc/rpc/dcerpc.h"
31 #include "librpc/gen_ndr/epmapper.h"
33 struct loadparm_context;
34 struct cli_credentials;
37 * Connection to a particular DCE/RPC interface.
40 const struct ndr_interface_table *table;
42 /** SMB context used when transport is ncacn_np. */
43 struct cli_state *cli;
45 /** Samba 3 DCE/RPC client context. */
46 struct rpc_pipe_client *rpc_cli;
50 const struct ndr_interface_call *call;
53 struct dcerpc_pipe *pipe;
57 enum dcerpc_transport_t {
58 NCA_UNKNOWN, NCACN_NP, NCACN_IP_TCP, NCACN_IP_UDP, NCACN_VNS_IPC,
59 NCACN_VNS_SPP, NCACN_AT_DSP, NCADG_AT_DDP, NCALRPC, NCACN_UNIX_STREAM,
60 NCADG_UNIX_DGRAM, NCACN_HTTP, NCADG_IPX, NCACN_SPX };
63 /** this describes a binding to a particular transport/pipe */
64 struct dcerpc_binding {
65 enum dcerpc_transport_t transport;
66 struct ndr_syntax_id object;
68 const char *target_hostname;
72 uint32_t assoc_group_id;
75 #endif /* __DCERPC_H__ */