OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide
C Program Example
OSI/MHS Gateway Programmatic Interface (GPI) Programming Guide—424822-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 */










