QsyFindValidationLstEntry()--Find Validation List Entry API


  Syntax
 #include <qsyvldl.h>

 int QsyFindValidationLstEntry
       (Qsy_Qual_Name_T        *Validation_Lst,
        Qsy_Entry_ID_Info_T    *Entry_ID,
        Qsy_Rtn_Vld_Lst_Ent_T  *Rtn_Entry);

  Service Program Name: QSYVLDL

  Default Public Authority: *USE

  Threadsafe: Yes

The QsyFindValidationLstEntry() function finds an entry in a validation list object. The function then returns the information for the entry in the buffer that is pointed to by the Rtn_Entry parameter. To find an entry, there must be an exact match in the entry for the value that is specified in the Entry_ID parameter and the length of the entry ID. For example, an entry ID value of "SMITH" with a length of 5 would not find an entry where the entry ID is "SMITH " and the length is 7.

Authorities

Validation List Object
*USE

Validation List Object Library
*EXECUTE

Note: If the QsyEncryptData attribute is set to QSY_VFY_FIND_E (1), then the user must have *USE, *ADD, and *UPD authority to the validation list to get the data to be encrypted returned in the Rtn_Entry parameter.


Parameters

Validation_Lst
(Input)

A pointer to the qualified object name of the validation list in which to find the entry. The first 10 characters specify the validation list name, and the second 10 characters specify the library. You can use these special values for the library name:


Entry_ID
(Input)

A pointer to the entry ID information. The format of the Qsy_Entry_ID_Info_T structure is as follows:



Rtn_Entry
(Output)

A pointer to the buffer where the entry information is placed. The buffer must be allocated to the size of the Qsy_Rtn_Vld_Lst_Ent_T structure or the results will be unpredictable. The format of the Qsy_Rtn_Vld_Lst_Ent_T structure is as follows:

See the Entry_ID parameter for the format of the Qsy_Entry_ID_Info_T structure.

The format of the Qsy_Entry_Encr_Data_Info_T structure is as follows:

The format of the Qsy_Entry_Data_Info_T structure is as follows:



Return Value



Error Conditions

If QsyFindValidationLstEntry() is not successful, errno indicates one of the following errors:


Example

The following example finds all the entries in the validation list object WEBUSRS where the entry ID starts with 'abc'.

Note: By using the code examples, you agree to the terms of the Code license and disclaimer information.

#include <qsyvldl.h>
#include <errno.h>

main()
{
  #define VLD_LST  "WEBUSRS   WEBLIB    "
  Qsy_Rtn_Vld_Lst_Ent_T  entry_1;
  Qsy_Rtn_Vld_Lst_Ent_T  entry_2;
  Qsy_Rtn_Vld_Lst_Ent_T  *input_info,
                         *output_info,
                         *temp;
  Qsy_Entry_ID_Info_T    *input_entry;
  short int              i;
  int                    rtn_errno;

  /* Set up entry ID to find.                                       */
  strncpy(entry_1.Entry_ID_Info.Entry_ID,"abc",3);
  entry_1.Entry_ID_Info.Entry_ID_Len = 3;

  /* Initialize pointers to input and output buffers.               */
  input_info = addr(entry_1);
  output_info = addr(entry_2);

  /* Try to find an entry for 'abc'.                                */
  rtn_errno = QsyFindValidationLstEntry(
                        (Qsy_Qual_Name_T *)&VLD_LST,
                        &entry_1.Entry_ID_Info,
                        output_info))
  /* If an 'abc' entry does not exist.                              */
  if (0 != rtn_errno && ENOREC == errno)
    /* Find the next entry after 'abc'.                             */
    rtn_errno = QsyFindNextValidationLstEntry(
                              (Qsy_Qual_Name_T *)&VLD_LST,
                              &entry_1.Entry_ID_Info,
                              output_info))

  while (0 == rtn_errno &&
         3 <= output_info->Entry_ID_Info.Entry_ID_Len &&
         0 == strncmp(output_info->Entry_ID_Info.Entry_ID,"abc",3))
  { /* Process all the entries in the validation list that          */
    /* begin with 'abc'.                                            */
          .
          .
          .
     (process the entry)
          .
          .
          .
    /* Switch the pointers to the buffers so that the output from   */
    /* the last find operation is used as input to the 'find-next'  */
    /* operation.                                                   */
    temp = output_info;
    output_info = input_info;
    input_info = temp;

    /* Find the next entry.                                         */
    rtn_errno = QsyFindNextValidationLstEntry(
                              (Qsy_Qual_Name_T *)&VLD_LST,
                              &(input_info->Entry_ID_Info),
                              output_info))
  }
  /* Check if an error occurred.                                    */
  if (0 != rtn_errno && ENOREC != errno)
    perror("Find of validation list entry");

}



API introduced: V4R1

[ Back to top | Security APIs | APIs by category ]