source: branches/samba-3.3.x/source/librpc/rpc/dcerpc.h

Last change on this file was 206, checked in by Herwig Bauernfeind, 16 years ago

Import Samba 3.3 branch at 3.0.0 level (psmedley's port)

File size: 2.0 KB
Line 
1/*
2 Unix SMB/CIFS implementation.
3
4 DCERPC client side interface structures
5
6 Copyright (C) 2008 Jelmer Vernooij
7
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.
12
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.
17
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/>.
20*/
21
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. */
25
26#ifndef __DCERPC_H__
27#define __DCERPC_H__
28
29#include "includes.h"
30#include "librpc/rpc/dcerpc.h"
31#include "librpc/gen_ndr/epmapper.h"
32
33struct loadparm_context;
34struct cli_credentials;
35
36/**
37 * Connection to a particular DCE/RPC interface.
38 */
39struct dcerpc_pipe {
40 const struct ndr_interface_table *table;
41
42 /** SMB context used when transport is ncacn_np. */
43 struct cli_state *cli;
44
45 /** Samba 3 DCE/RPC client context. */
46 struct rpc_pipe_client *rpc_cli;
47};
48
49struct rpc_request {
50 const struct ndr_interface_call *call;
51 prs_struct q_ps;
52 uint32_t opnum;
53 struct dcerpc_pipe *pipe;
54 void *r;
55};
56
57enum 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 };
61
62
63/** this describes a binding to a particular transport/pipe */
64struct dcerpc_binding {
65 enum dcerpc_transport_t transport;
66 struct ndr_syntax_id object;
67 const char *host;
68 const char *target_hostname;
69 const char *endpoint;
70 const char **options;
71 uint32_t flags;
72 uint32_t assoc_group_id;
73};
74
75#endif /* __DCERPC_H__ */
Note: See TracBrowser for help on using the repository browser.