The recommended, standardized backing store IDL interface for a server looks like the following, where XXX is the server name:
interface XXX_convert
{
import "dce/database.idl"
typedef XXX_data_s_t {
dce_db_header_t header; /* Header must be first! */
/* (server-specific data goes here) */
} XXX_data_t;
void XXX_data_convert(
[in] handle_t h,
[in, out] XXX_data_t *data
[out] error_status_t *st
);
}
It should be compiled with the following Attribute Configuration File (ACF), which instructs the idl compiler to write the data conversion routine into the XXX_cstub.c file:
interface XXX
{
[encode, decode] XXX_data_convert([comm_status] st);
}