OSI/MHS Management Programming Manual

Examples
OSI/MHS Management Programming Manual424824-001
C-49
Example in C
*passw_valid = (*passw_valid &&
STRNEQUAL (mspwtabl_row.password, password.zstring) &&
STRNEQUAL (mspwtabl_row.pselector,
osi_address.zpselector.zstring) &&
STRNEQUAL (mspwtabl_row.sselector,
osi_address.zsselector.zstring) &&
STRNEQUAL (mspwtabl_row.tselector,
osi_address.ztselector.zstring) &&
STRNEQUAL (mspwtabl_row.nsap,
osi_address.znsap.zstring));
return (sql_error);
} /* validate_bind_password */
/***************************************************************************/
/* Function: add_mspwtabl_row */
/* Usage : error = add_mspwtabl_row (appl_name, */
/* passw, */
/* appl_orname, */
/* ua_osi_address) */
/* Parameters: appl_name INPUT */
/* passw INPUT */
/* appl_orname INPUT */
/* ua_osi_address INPUT */
/*-------------------------------------------------------------------------*/
/* Add a row to the MSPWTABL table in response to an ADD APPL request. */
/* Return the SQL error number for any error that is encountered, else */
/* return zero. */
/* If the OSI address is not present, Set the zlength fields in */
/* ua_osi_address to -1. */
/***************************************************************************/
int add_mspwtabl_row (zmhs_ddl_appl_name_def *appl_name,
zmhs_ddl_passw_def *passw,
zmhs_ddl_appl_orname_def *appl_orname,
zmhs_ddl_ua_osi_address_def *ua_osi_address)
{
int sql_error;
memset (&mspwtabl_row, BLANKS, sizeof (mspwtabl_row));
memcpy (mspwtabl_row.appl_name, appl_name, sizeof
(zmhs_ddl_appl_name_def));
if (passw->zlength > 0)
memcpy (mspwtabl_row.password, passw->zstring, passw->zlength);
if (appl_orname->zisocountry.zlength > 0)
memcpy (mspwtabl_row.iso_country, appl_orname->zisocountry.zstring,
appl_orname->zisocountry.zlength);
if (appl_orname->zadmd_name.zlength > 0)
memcpy (mspwtabl_row.admd, appl_orname->zadmd_name.zstring,
appl_orname->zadmd_name.zlength);
if (appl_orname->zprmd_name.zlength > 0)
memcpy (mspwtabl_row.prmd, appl_orname->zprmd_name.zstring,
appl_orname->zprmd_name.zlength);
if (appl_orname->zx121address.zlength > 0)
memcpy (mspwtabl_row.x121_address, appl_orname->zx121address.zstring,
appl_orname->zx121address.zlength);
if (appl_orname->zterminalid.zlength > 0)
memcpy (mspwtabl_row.terminal_id, appl_orname->zterminalid.zstring,
appl_orname->zterminalid.zlength);
if (appl_orname->znumericuseridentifier.zlength > 0)
memcpy (mspwtabl_row.numeric_user_id,
appl_orname->znumericuseridentifier.zstring,
appl_orname->znumericuseridentifier.zlength);