NAME
          irReturn - return channel to parent process or default owner

     SYNOPSIS
          #include <irapi.h>

          int irReturn (channel_id cid, int value, int tag);

     DESCRIPTION
          The function irReturn returns ownership the channel referred
          to by channel identifier cid to either the parent process or
          the default owner.  The parent process is defined as the
          most recent process to call irSubProg(3IRAPI) on the chan-
          nel.  If a parent process exists, the return of ownership to
          the parent will preserve the service state, resource alloca-
          tions and save-on-exec parameter values established by the
          current process.  If no parent process exists, the channel
          will be released to the default owner in a manner analogous
          to irDeinit(3IRAPI).

          If the IRE_DEINIT_DONE event is set for notification, via
          irSetEvent(3IRAPI), then an IRE_DEINIT_DONE event is
          returned to the application with tag set to the tag value
          passed to irReturn(3IRAPI).

          Transient applications must call:

              (void) irSetEvent(cid, IRE_DEINIT_DONE, IRF_NOTIFY);

          and wait for the subsequent IRE_DEINIT_DONE event before
          exiting, otherwise a CGEN_DEFOWN alarm may be generated.

     EVENTS
          The event IRE_RETURN is posted to the parent process if one
          exists.  event_mod1 contains the value argument specified by
          the child calling irReturn and the tag for IRE_RETURN is the
          tag passed to irSubProg(3IRAPI) by the parent process.

     RETURN VALUE
          IRR_OK is returned on success.

          IRR_FAIL is returned on error.

     ERROR
          irError is set as follows on error:

          IRER_INVALID if cid is invalid

          IRER_SYSERROR if a driver call or system call failure occurs
          (see irSysError for additional information)

     SEE ALSO
          irDeinit(3IRAPI), irSetEvent(3IRAPI), irSubProg(3IRAPI),

     VERSION
          This is version 11/25/02 of this man page.