ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

epm.idl
Go to the documentation of this file.
00001 /*
00002  * Endpoint Mapper
00003  *
00004  * Copyright 2006 Robert Shearman (for CodeWeavers)
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  *
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00019  */
00020 
00021 /* FIXME: should be import */
00022 #include "dcetypes.idl"
00023 
00024 cpp_quote("RPC_STATUS WINAPI TowerExplode(")
00025 cpp_quote("    const twr_t *tower, PRPC_SYNTAX_IDENTIFIER object, PRPC_SYNTAX_IDENTIFIER syntax,")
00026 cpp_quote("    char **protseq, char **endpoint, char **address);")
00027 cpp_quote("RPC_STATUS WINAPI TowerConstruct(")
00028 cpp_quote("    const RPC_SYNTAX_IDENTIFIER *object, const RPC_SYNTAX_IDENTIFIER *syntax,")
00029 cpp_quote("    const char *protseq, const char *endpoint, const char *address,")
00030 cpp_quote("    twr_t **tower);")
00031 
00032 [
00033     uuid(e1af8308-5d1f-11c9-91a4-08002b14a0fa),
00034     version(3.0),
00035     pointer_default(ref)
00036 ]
00037 interface epm
00038 {
00039     const long ept_max_annotation_size = 64;
00040 
00041     typedef struct
00042     {
00043                     GUID        object;
00044                     twr_t      *tower;
00045         [string]    char        annotation[ept_max_annotation_size];
00046     } ept_entry_t, *ept_entry_p_t;
00047 
00048     typedef [context_handle] void *ept_lookup_handle_t;
00049 
00050     /* Adds entries to an endpoint map */
00051     void ept_insert(
00052         [in]    handle_t            h,
00053         [in]    unsigned32          num_ents,
00054         [in, size_is(num_ents)]
00055                 ept_entry_t         entries[],
00056         [in]    boolean32           replace,
00057         [out]   error_status_t      *status
00058     );
00059 
00060     /* Removes entries from an endpoint map */
00061     void ept_delete(
00062         [in]    handle_t            h,
00063         [in]    unsigned32          num_ents,
00064         [in, size_is(num_ents)]
00065                 ept_entry_t         entries[],
00066         [out]   error_status_t      *status
00067     );
00068 
00069     /* Lookup entries in an endpoint map */
00070     [idempotent]
00071     void ept_lookup(
00072         [in]        handle_t            h,
00073         [in]        unsigned32          inquiry_type,
00074         [in]        uuid_p_t            object,
00075         [in]        rpc_if_id_p_t       interface_id,
00076         [in]        unsigned32          vers_option,
00077         [in, out]   ept_lookup_handle_t *entry_handle,
00078         [in]        unsigned32          max_ents,
00079         [out]       unsigned32          *num_ents,
00080         [out, length_is(*num_ents), size_is(max_ents)]
00081                     ept_entry_t         entries[],
00082         [out]       error_status_t      *status
00083     );
00084 
00085     /* Lookup entries in an endpoint map using the given input pattern */
00086     [idempotent]
00087     void ept_map(
00088         [in]        handle_t            h,
00089         [in]        uuid_p_t            object,
00090         [in]        twr_p_t             map_tower,
00091         [in, out]   ept_lookup_handle_t *entry_handle,
00092         [in]        unsigned32          max_towers,
00093         [out]       unsigned32          *num_towers,
00094         [out, length_is(*num_towers), size_is(max_towers)]
00095                     twr_p_t             *towers,
00096         [out]       error_status_t      *status
00097     );
00098 
00099     /* Free the context handle returned by ept_lookup or ept_map */
00100     void ept_lookup_handle_free(
00101         [in]        handle_t            h,
00102         [in, out]   ept_lookup_handle_t *entry_handle,
00103         [out]       error_status_t      *status
00104     );
00105 
00106     /* Inquires as to the endpoint map's object identifier */
00107     [idempotent]
00108     void ept_inq_object(
00109         [in]        handle_t            h,
00110         [out]       GUID                *ept_object,
00111         [out]       error_status_t      *status
00112     );
00113 
00114     /* Deletes matching entries in the endpoint map */
00115     void ept_mgmt_delete(
00116         [in]        handle_t            h,
00117         [in]        boolean32           object_speced,
00118         [in]        uuid_p_t            object,
00119         [in]        twr_p_t             tower,
00120         [out]       error_status_t      *status
00121     );
00122 }

Generated on Sat May 26 2012 04:16:37 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.