/* @(#)83    1.7  src/examples/type_mgr/tm_admin.idl, examples.src, os2dce21.dss, 960602a.1  6/10/94  18:47:56 */
/*
 * COMPONENT_NAME:  examples.src
 *
 * FUNCTIONS:
 *
 * ORIGINS: 27
 *
 * (C) COPYRIGHT International Business Machines Corp. 1992, 1994
 * All Rights Reserved
 * Licensed Materials - Property of IBM
 *
 * US Government Users Restricted Rights - Use, duplication or
 * disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 *
 */

/*
 *  IDL file defining the remote procedure calls that make up the
 *  tm_admin interface.  These routines are implemented in the server
 *  code.
 */

[
uuid(00422782-D40C-1AD8-B1C3-10005AA8889C),
version(1.0),
pointer_default(ptr)
]
interface tm_admin
{
   typedef [string] char cstring_t[32];

   typedef struct obj_list {
        long  size;
        [size_is(size)] cstring_t objects[*];
   } obj_list;
   
   error_status_t tm_admin_add_object(
        [in]            handle_t binding_handle,
        [in,string]     char *object_type,
        [in,string]     char *object_name,
        [out]           unsigned32 *exit_status
   );

   error_status_t tm_admin_del_object(
        [in]            handle_t binding_handle,
        [in,string]     char *object_name,
        [out]           unsigned32 *exit_status
   );

   error_status_t tm_admin_list_object(
        [in]            handle_t binding_handle,
        [out]           obj_list **object_list,
        [out]           unsigned32 *exit_status
   );
}
