
  PROCEDURE [INLINE] rfp$find_client_entry (client_name: rft$application_name;
        require_active: boolean;
    VAR client_entry_p: ^rft$rhfam_client_table_entry;
    VAR status: ost$status);

?? PUSH (LISTEXT := ON) ??
{
{           The purpose of this procedure is to locate the specified
{     client table entry and return a pointer to the entry.
{     The caller of this routine must have the client table locked.
{
{
{     CLIENT_NAME: (input) This parameter specifies the client to
{       locate.
{
{     REQUIRE_ACTIVE: (input); This parameter specifies if the client
{       definition must be active to match.
{
{     CLIENT_ENTRY_P: (output) This parameter returns the pointer to the
{       specified client table entry. A NIL pointer indicates no client
{       table entry was found.
{
{     STATUS: (output) This parameter returns the results of the request.
{       A status of normal means the client was found.
{

    status.normal := TRUE;
    client_entry_p := rfv$rhfam_client_table.first_entry;
    WHILE client_entry_p <> NIL DO
      IF (client_entry_p^.client_name = client_name) THEN
        IF require_active THEN
          IF client_entry_p^.client_active THEN
            RETURN;
          ELSE
            osp$set_status_abnormal (rfc$product_id, rfe$appl_not_active,
                  client_name, status);
            EXIT rfp$find_client_entry;
          IFEND;
        ELSE
          RETURN;
        IFEND;
      IFEND;
      client_entry_p := client_entry_p^.next_entry;
    WHILEND;

    osp$set_status_abnormal (rfc$product_id, rfe$appl_not_defined,
            client_name, status);

  PROCEND rfp$find_client_entry;
?? POP ??
