OSI/MHS Management Programming Manual
Examples
OSI/MHS Management Programming Manual—424824-001
C-57
Example in C
{
 int error;
 char rsp_buf [ZMHS_VAL_BUFLEN];
 short *rsp_buf_s = (short *)&rsp_buf;
 int rsp_bytes;
 zmhs_ddl_passw_status_def passw_status;
 /* initialize the response buffer */
 error = SSINIT (rsp_buf_s,
 ZMHS_VAL_BUFLEN,
 (short *)&ZMHS_VAL_SSID,
 ZSPI_VAL_CMDHDR,
 PASSW_CMD);
 if (error)
 {
 printf ("SSINIT procedure error - %d\n", error);
 exit (EXIT_FAILURE);
 }
 error = SSNULL ((short *)&zmhs_map_passw_status,
 (char *)&passw_status);
 if (error)
 {
 printf ("SSNULL procedure error - %d\n", error);
 exit (EXIT_FAILURE);
 }
 passw_status.zvalue = (rsp_flag == PASSW_ERROR_RSP)
 ? ZMHS_VAL_PASSW_ERROR : ZMHS_VAL_PASSW_OK;
 error = SSPUT (rsp_buf_s,
 (short *)&zmhs_map_passw_status,
 (char *)&passw_status);
 if (error)
 {
 printf ("SSPUT procedure error - %d\n", error);
 exit (EXIT_FAILURE);
 }
 if (rsp_passw != NULL)
 {
 error = SSPUT (rsp_buf_s,
 (short *)&zmhs_map_passw,
 (char *)rsp_passw);
 if (error)
 {
 printf ("SSPUT procedure error - %d\n", error);
 exit (EXIT_FAILURE);
 }
 } /* if (&rsp_passw != NULL) */
 /* get the used length of the buffer */
 error = SSGETTKN (rsp_buf_s,
 ZSPI_TKN_USEDLEN,
 (char *)&rsp_bytes);
 if (error)
 {
 printf ("SSGETTKN procedure error - %d\n", error);
 exit (EXIT_FAILURE);
 }
 send_reply (rsp_buf,
 rsp_bytes);
} /* send_password_response */
/***************************************************************************/










