OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide

C Program Example
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide424822-001
B-39
OM_descriptor
f_descriptor_list[MAX_DESCRIPTORS], /* Descriptor list for fetch */
descriptor_list_out[MAX_DESCRIPTORS]; /* Descriptor list for output */
/* from fetch */
f_descriptor_list[0].type = OM_T_CLASS;
local_rc = GPI_OM_FETCH_ ( root_id, /* Root object identifier */
OM_TRUE, /* Values returned */
f_descriptor_list,
descriptor_count,
descriptor_list_out,
string_buffer,
STRING_BUFFER_LEN,
&actual_string_len,
&total_string_len);
if (( local_rc == OM_RC_SUCCESS ) || ( local_rc == ZGPI_RC_WARNING ))
{
if ( local_rc == ZGPI_RC_WARNING )
printf (" WARNING! number: %d \n", local_rc );
message_class = descriptor_list_out[0].value.integer;
printf ("\n The received object is a ");
switch (message_class)
{
case MH_C_MESSAGE : printf ("message.\n\n");
local_rc = print_message (root_id);
break;
case MH_C_PROBE : printf ("probe.\n");
break;
case MH_C_REPORT : printf ("report.\n");
break;
} /* switch */
} /* if */
return (local_rc);
} /* print_root_object*/
#pragma page
/**************************************************************************/
/**************************************************************************/
/*********************** M A I N ***********************/
/**************************************************************************/
/**************************************************************************/
int main ( void )
{
short
session; /* Session identifier */
unsigned short
rc, /* Return code from a function call */
mhs_mgr_name_len, /* Length from the mhs_mgr_name */
gateway_password_len, /* Length from the gateway password */
local_identifier_len = 0; /* Length from the local_identifier */
signed long
interval; /* Interval for the wait */