OSI/MHS Management Programming Manual

Examples
OSI/MHS Management Programming Manual424824-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 */
/***************************************************************************/