VirtualBox

source: vbox/trunk/src/VBox/Additions/WINNT/Graphics/Wine/include/wine/epm.idl@ 23571

Last change on this file since 23571 was 22496, checked in by vboxsync, 15 years ago

crOpenGL: update wine to 1.1.27 and better fix for depthstencil surface refcounting

  • Property svn:eol-style set to native
File size: 5.3 KB
Line 
1/*
2 * Endpoint Mapper
3 *
4 * Copyright 2006 Robert Shearman (for CodeWeavers)
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21/*
22 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
23 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
24 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
25 * a choice of LGPL license versions is made available with the language indicating
26 * that LGPLv2 or any later version may be used, or where a choice of which version
27 * of the LGPL is applied is otherwise unspecified.
28 */
29
30/*
31 * Sun LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
32 * other than GPL or LGPL is available it will apply instead, Sun elects to use only
33 * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
34 * a choice of LGPL license versions is made available with the language indicating
35 * that LGPLv2 or any later version may be used, or where a choice of which version
36 * of the LGPL is applied is otherwise unspecified.
37 */
38
39/* FIXME: should be import */
40#include "dcetypes.idl"
41
42cpp_quote("RPC_STATUS WINAPI TowerExplode(")
43cpp_quote(" const twr_t *tower, PRPC_SYNTAX_IDENTIFIER object, PRPC_SYNTAX_IDENTIFIER syntax,")
44cpp_quote(" char **protseq, char **endpoint, char **address);")
45cpp_quote("RPC_STATUS WINAPI TowerConstruct(")
46cpp_quote(" const RPC_SYNTAX_IDENTIFIER *object, const RPC_SYNTAX_IDENTIFIER *syntax,")
47cpp_quote(" const char *protseq, const char *endpoint, const char *address,")
48cpp_quote(" twr_t **tower);")
49
50[
51 uuid(e1af8308-5d1f-11c9-91a4-08002b14a0fa),
52 version(3.0),
53 pointer_default(ref)
54]
55interface epm
56{
57 const long ept_max_annotation_size = 64;
58
59 typedef struct
60 {
61 GUID object;
62 twr_t *tower;
63 [string] char annotation[ept_max_annotation_size];
64 } ept_entry_t, *ept_entry_p_t;
65
66 typedef [context_handle] void *ept_lookup_handle_t;
67
68 /* Adds entries to an endpoint map */
69 void ept_insert(
70 [in] handle_t h,
71 [in] unsigned32 num_ents,
72 [in, size_is(num_ents)]
73 ept_entry_t entries[],
74 [in] boolean32 replace,
75 [out] error_status_t *status
76 );
77
78 /* Removes entries from an endpoint map */
79 void ept_delete(
80 [in] handle_t h,
81 [in] unsigned32 num_ents,
82 [in, size_is(num_ents)]
83 ept_entry_t entries[],
84 [out] error_status_t *status
85 );
86
87 /* Lookup entries in an endpoint map */
88 [idempotent]
89 void ept_lookup(
90 [in] handle_t h,
91 [in] unsigned32 inquiry_type,
92 [in] uuid_p_t object,
93 [in] rpc_if_id_p_t interface_id,
94 [in] unsigned32 vers_option,
95 [in, out] ept_lookup_handle_t *entry_handle,
96 [in] unsigned32 max_ents,
97 [out] unsigned32 *num_ents,
98 [out, length_is(*num_ents), size_is(max_ents)]
99 ept_entry_t entries[],
100 [out] error_status_t *status
101 );
102
103 /* Lookup entries in an endpoint map using the given input pattern */
104 [idempotent]
105 void ept_map(
106 [in] handle_t h,
107 [in] uuid_p_t object,
108 [in] twr_p_t map_tower,
109 [in, out] ept_lookup_handle_t *entry_handle,
110 [in] unsigned32 max_towers,
111 [out] unsigned32 *num_towers,
112 [out, length_is(*num_towers), size_is(max_towers)]
113 twr_p_t *towers,
114 [out] error_status_t *status
115 );
116
117 /* Free the context handle returned by ept_lookup or ept_map */
118 void ept_lookup_handle_free(
119 [in] handle_t h,
120 [in, out] ept_lookup_handle_t *entry_handle,
121 [out] error_status_t *status
122 );
123
124 /* Inquires as to the endpoint map's object identifier */
125 [idempotent]
126 void ept_inq_object(
127 [in] handle_t h,
128 [out] GUID *ept_object,
129 [out] error_status_t *status
130 );
131
132 /* Deletes matching entries in the endpoint map */
133 void ept_mgmt_delete(
134 [in] handle_t h,
135 [in] boolean32 object_speced,
136 [in] uuid_p_t object,
137 [in] twr_p_t tower,
138 [out] error_status_t *status
139 );
140}
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette