home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 15 / 15.iso / s / s053 / 8.ddi / usr / include / sys / evecb.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-12-08  |  2.9 KB  |  93 lines

  1. /*    Copyright (c) 1990 UNIX System Laboratories, Inc.    */
  2. /*    Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T    */
  3. /*      All Rights Reserved      */
  4.  
  5. /*    THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF         */
  6. /*    UNIX System Laboratories, Inc.                         */
  7. /*    The copyright notice above does not evidence any       */
  8. /*    actual or intended publication of such source code.    */
  9.  
  10. #ifndef _SYS_EVECB_H
  11. #define _SYS_EVECB_H
  12.  
  13. #ident    "@(#)/usr/include/sys/evecb.h.sl 1.1 4.0 12/08/90 27236 AT&T-USL"
  14.  
  15. /*            File Contents
  16. **            =============
  17. **
  18. **    This file contains the definition of an event control block,
  19. **    or ecb.  This was originally in the events.h header file.
  20. **    It was broken out separately because other header files need
  21. **    the definition of an ecb because they include an ecb as one
  22. **    member of a larger structure that they define.  Note that they
  23. **    include an ecb and not a pointer to an ecb.  One such file is
  24. **    hrtcntl.h.  On the other hand, events.h requires hrtcntl.h to
  25. **    be included before itself because an event_t contains a tofd_t
  26. **    structure (again, not a pointer).
  27. */
  28.  
  29.  
  30. /*            Required Header Files
  31. **            =====================
  32. **
  33. **    The following header files must be includes before including
  34. **    this file.
  35. **
  36. **        REQUIRES    sys/types.h
  37. */
  38.  
  39. /*            The ecb_t Structure
  40. **            ===================
  41. **
  42. **    The following structure describes an event control block.
  43. **    It is used by many of system calls to specify the parameters of
  44. **    an event that the system is to post for some situation.  See
  45. **    events.h for more details.
  46. */
  47.  
  48. typedef struct ecb {
  49.     short    ecb_eqd;    /* The event queue descriptor    */
  50.                 /* to which the event should be    */
  51.                 /* posted.            */
  52.     ushort    ecb_flags;    /* Various flags defined below.    */
  53.     long    ecb_eid;    /* The value for the ev_eid    */
  54.                 /* field of the event to be    */
  55.                 /* posted.            */
  56.     long    ecb_evpri;    /* The value for the ev_pri    */
  57.                 /* field of the event to be    */
  58.                 /* posted.            */
  59. } ecb_t;
  60.  
  61.  
  62. /*    The following are the flags for the ecb_flags field of the
  63. **    ecb_t structure.
  64. */
  65.  
  66. #define    ECBF_POSTCAN    0x0001    /* Post an event if the        */
  67.                 /* operation is cancelled.  The    */
  68.                 /* EF_CANCEL flag will be set    */
  69.                 /* in the posted event.  By    */
  70.                 /* default, events are not     */
  71.                 /* posted when an operation is    */
  72.                 /* cancelled.  This flag     */
  73.                 /* applies only to the asyncio    */
  74.                 /* and hrtalarm functions.    */
  75. #define    ECBF_LATEERR    0x0002    /* This flag applies only to    */
  76.                 /* the hrtalarm function.  If a    */
  77.                 /* T_TODALARM specifies a time    */
  78.                 /* which has passed, give an     */
  79.                 /* error return.  The default    */
  80.                 /* is to post the normal    */
  81.                 /* ET_TIMER event immediately.    */
  82. #define    ECBF_NOSIGQ    0x0004    /* This flag applies only to    */
  83.                 /* the evsig function.  If set,    */
  84.                 /* then don't post a separate    */
  85.                 /* event for each signal of the    */
  86.                 /* same type which occurs.     */
  87.                 /* Post only if no ET_SIG event    */
  88.                 /* for the same signal is     */
  89.                 /* already posted but not yet    */
  90.                 /* received.            */
  91.  
  92. #endif    /* _SYS_EVECB_H */
  93.