This appendix gives the IDL specification of the RPC interface to the
endpoint mapper service. It makes use of declarations given in
Following are brief descriptions of the operations:
The endpoint mapper listens on a well-known endpoint for each
supported protocol. Registered endpoints are listed in
[uuid(e1af8308-5d1f-11c9-91a4-08002b14a0fa), version(3.0),
pointer_default(ptr)]
interface ept
{
const long ept_max_annotation_size = 64;
typedef struct
{
uuid_t object;
twr_p_t tower;
[string] char annotation[ept_max_annotation_size];
} ept_entry_t, *ept_entry_p_t;
typedef [context_handle] void *ept_lookup_handle_t;
/*
* E P T _ I N S E R T
*/
void ept_insert(
[in] handle_t h,
[in] unsigned32 num_ents,
[in, size_is(num_ents)]
ept_entry_t entries[],
[in] boolean32 replace,
[out] error_status_t *status
);
/*
* E P T _ D E L E T E
*/
void ept_delete(
[in] handle_t h,
[in] unsigned32 num_ents,
[in, size_is(num_ents)]
ept_entry_t entries[],
[out] error_status_t *status
);
/*
* E P T _ L O O K U P
*/
[idempotent]
void ept_lookup(
[in] handle_t h,
[in] unsigned32 inquiry_type,
[in] uuid_p_t object,
[in] rpc_if_id_p_t interface_id,
[in] unsigned32 vers_option,
[in, out] ept_lookup_handle_t *entry_handle,
[in] unsigned32 max_ents,
[out] unsigned32 *num_ents,
[out, length_is(*num_ents), size_is(max_ents)]
ept_entry_t entries[],
[out] error_status_t *status
);
/*
* E P T _ M A P
*/
[idempotent]
void ept_map(
[in] handle_t h,
[in] uuid_p_t object,
[in] twr_p_t map_tower,
[in, out] ept_lookup_handle_t *entry_handle,
[in] unsigned32 max_towers,
[out] unsigned32 *num_towers,
[out, length_is(*num_towers), size_is(max_towers)]
twr_p_t towers[],
[out] error_status_t *status
);
/*
* E P T _ L O O K U P _ H A N D L E _ F R E E
*/
void ept_lookup_handle_free(
[in] handle_t h,
[in, out] ept_lookup_handle_t *entry_handle,
[out] error_status_t *status
);
/*
* E P T _ I N Q _ O B J E C T
*/
[idempotent]
void ept_inq_object(
[in] handle_t h,
[out] uuid_t *ept_object,
[out] error_status_t *status
);
/*
* E P T _ M G M T _ D E L E T E
*/
void ept_mgmt_delete(
[in] handle_t h,
[in] boolean32 object_speced,
[in] uuid_p_t object,
[in] twr_p_t tower,
[out] error_status_t *status
);
}
Please note that the html version of this specification may contain formatting aberrations. The definitive version is available as an electronic publication on CD-ROM from The Open Group.
Contents | Next section | Index |