home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / catD / queue.z / queue
Encoding:
Text File  |  1998-10-30  |  10.8 KB  |  133 lines

  1.  
  2.  
  3.  
  4. qqqquuuueeeeuuuueeee((((DDDD4444))))                                                            qqqquuuueeeeuuuueeee((((DDDD4444))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _qqqq_uuuu_eeee_uuuu_eeee - STREAMS queue structure
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_ssss_tttt_rrrr_eeee_aaaa_mmmm_...._hhhh_>>>>
  14.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  15.  
  16. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  17.      A instance of a STREAMS driver or module consists of two _qqqq_uuuu_eeee_uuuu_eeee
  18.      structures, one for upstream (read-side) processing and one for
  19.      downstream (write-side) processing.
  20.  
  21. UUUUSSSSAAAAGGGGEEEE
  22.      This structure is the major building block of a stream.  It contains
  23.      pointers to the processing procedures, pointers to the next queue in the
  24.      stream, flow control parameters, and a list of messages to be processed.
  25.  
  26.    SSSSttttrrrruuuuccccttttuuuurrrreeee DDDDeeeeffffiiiinnnniiiittttiiiioooonnnnssss
  27.      The _qqqq_uuuu_eeee_uuuu_eeee structure is defined as type _qqqq_uuuu_eeee_uuuu_eeee______tttt and contains the following
  28.      members:
  29.  
  30.      _ssss_tttt_rrrr_uuuu_cccc_tttt _qqqq_iiii_nnnn_iiii_tttt  _****_qqqq______qqqq_iiii_nnnn_ffff_oooo_;;;;  _////_**** _mmmm_oooo_dddd_uuuu_llll_eeee _oooo_rrrr _dddd_rrrr_iiii_vvvv_eeee_rrrr _eeee_nnnn_tttt_rrrr_yyyy _pppp_oooo_iiii_nnnn_tttt_ssss _****_////
  31.      _ssss_tttt_rrrr_uuuu_cccc_tttt _mmmm_ssss_gggg_bbbb   _****_qqqq______ffff_iiii_rrrr_ssss_tttt_;;;;  _////_**** _ffff_iiii_rrrr_ssss_tttt _mmmm_eeee_ssss_ssss_aaaa_gggg_eeee _iiii_nnnn _qqqq_uuuu_eeee_uuuu_eeee _****_////
  32.      _ssss_tttt_rrrr_uuuu_cccc_tttt _mmmm_ssss_gggg_bbbb   _****_qqqq______llll_aaaa_ssss_tttt_;;;;   _////_**** _llll_aaaa_ssss_tttt _mmmm_eeee_ssss_ssss_aaaa_gggg_eeee _iiii_nnnn _qqqq_uuuu_eeee_uuuu_eeee _****_////
  33.      _ssss_tttt_rrrr_uuuu_cccc_tttt _qqqq_uuuu_eeee_uuuu_eeee  _****_qqqq______nnnn_eeee_xxxx_tttt_;;;;   _////_**** _nnnn_eeee_xxxx_tttt _qqqq_uuuu_eeee_uuuu_eeee _iiii_nnnn _ssss_tttt_rrrr_eeee_aaaa_mmmm _****_////
  34.      _vvvv_oooo_iiii_dddd          _****_qqqq______pppp_tttt_rrrr_;;;;    _////_**** _pppp_oooo_iiii_nnnn_tttt_eeee_rrrr _tttt_oooo _pppp_rrrr_iiii_vvvv_aaaa_tttt_eeee _dddd_aaaa_tttt_aaaa _ssss_tttt_rrrr_uuuu_cccc_tttt_uuuu_rrrr_eeee _****_////
  35.      _uuuu_llll_oooo_nnnn_gggg______tttt       _qqqq______cccc_oooo_uuuu_nnnn_tttt_;;;;   _////_**** _aaaa_pppp_pppp_rrrr_oooo_xxxx_iiii_mmmm_aaaa_tttt_eeee _ssss_iiii_zzzz_eeee _oooo_ffff _mmmm_eeee_ssss_ssss_aaaa_gggg_eeee _qqqq_uuuu_eeee_uuuu_eeee _****_////
  36.      _uuuu_llll_oooo_nnnn_gggg______tttt       _qqqq______ffff_llll_aaaa_gggg_;;;;    _////_**** _ssss_tttt_aaaa_tttt_uuuu_ssss _oooo_ffff _qqqq_uuuu_eeee_uuuu_eeee _****_////
  37.      _llll_oooo_nnnn_gggg          _qqqq______mmmm_iiii_nnnn_pppp_ssss_zzzz_;;;;  _////_**** _ssss_mmmm_aaaa_llll_llll_eeee_ssss_tttt _pppp_aaaa_cccc_kkkk_eeee_tttt _aaaa_cccc_cccc_eeee_pppp_tttt_eeee_dddd _bbbb_yyyy _QQQQ_UUUU_EEEE_UUUU_EEEE _****_////
  38.      _llll_oooo_nnnn_gggg          _qqqq______mmmm_aaaa_xxxx_pppp_ssss_zzzz_;;;;  _////_**** _llll_aaaa_rrrr_gggg_eeee_ssss_tttt _pppp_aaaa_cccc_kkkk_eeee_tttt _aaaa_cccc_cccc_eeee_pppp_tttt_eeee_dddd _bbbb_yyyy _QQQQ_UUUU_EEEE_UUUU_EEEE _****_////
  39.      _uuuu_llll_oooo_nnnn_gggg______tttt       _qqqq______hhhh_iiii_wwww_aaaa_tttt_;;;;   _////_**** _hhhh_iiii_gggg_hhhh _wwww_aaaa_tttt_eeee_rrrr _mmmm_aaaa_rrrr_kkkk _****_////
  40.      _uuuu_llll_oooo_nnnn_gggg______tttt       _qqqq______llll_oooo_wwww_aaaa_tttt_;;;;   _////_**** _llll_oooo_wwww _wwww_aaaa_tttt_eeee_rrrr _mmmm_aaaa_rrrr_kkkk _****_////
  41.      The _qqqq______qqqq_iiii_nnnn_ffff_oooo field contains a pointer to the _qqqq_iiii_nnnn_iiii_tttt(D4) structure
  42.      specifying the processing routines and default values for the queue.
  43.      This field should not be changed by drivers or modules.
  44.  
  45.      The _qqqq______ffff_iiii_rrrr_ssss_tttt field points to the first message on the queue, or is _NNNN_UUUU_LLLL_LLLL if
  46.      the queue is empty.  This field should not be changed by drivers or
  47.      modules.
  48.  
  49.      The _qqqq______llll_aaaa_ssss_tttt field points to the last message on the queue, or is _NNNN_UUUU_LLLL_LLLL if
  50.      the queue is empty.  This field should not be changed by drivers or
  51.      modules.
  52.  
  53.      The _qqqq______nnnn_eeee_xxxx_tttt field points to the next queue in the stream.  This field
  54.      should not be changed by drivers or modules.
  55.  
  56.      The _qqqq______pppp_tttt_rrrr field is a private field for use by drivers and modules.  It
  57.      provides a way to associate the driver's per-minor data structure with
  58.      the queue.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. qqqquuuueeeeuuuueeee((((DDDD4444))))                                                            qqqquuuueeeeuuuueeee((((DDDD4444))))
  71.  
  72.  
  73.  
  74.      The _qqqq______cccc_oooo_uuuu_nnnn_tttt field contains the number of bytes in messages on the queue
  75.      in priority band 0.  This includes normal messages and high priority
  76.      messages.
  77.  
  78.      The _qqqq______ffff_llll_aaaa_gggg field contains a bitmask of flags that indicate different
  79.      queue characteristics.  No flags may be set or cleared by drivers or
  80.      modules.  However, the following flags may be tested:
  81.  
  82.      _QQQQ_RRRR_EEEE_AAAA_DDDD_RRRR        The queue is the read queue.  Absence of this flag implies
  83.                    a write queue.
  84.  
  85.      The _qqqq______mmmm_iiii_nnnn_pppp_ssss_zzzz field is the minimum packet size for the queue.  This is an
  86.      advisory limit specifying the smallest message that can be accepted by
  87.      the queue.  It is initially set to the value specified by the _mmmm_iiii______mmmm_iiii_nnnn_pppp_ssss_zzzz
  88.      field in the _mmmm_oooo_dddd_uuuu_llll_eeee______iiii_nnnn_ffff_oooo(D4) structure.  This field can be changed by
  89.      drivers or modules.
  90.  
  91.      The _qqqq______mmmm_aaaa_xxxx_pppp_ssss_zzzz field is the maximum packet size for the queue.  This is an
  92.      advisory limit specifying the largest message that can be accepted by the
  93.      queue.  It is initially set to the value specified by the _mmmm_iiii______mmmm_aaaa_xxxx_pppp_ssss_zzzz field
  94.      in the _mmmm_oooo_dddd_uuuu_llll_eeee______iiii_nnnn_ffff_oooo structure.  This field can be changed by drivers or
  95.      modules.
  96.  
  97.      The _qqqq______hhhh_iiii_wwww_aaaa_tttt field is the high water mark for the queue.  This specifies
  98.      the number of bytes of data contained in messages on the queue such that
  99.      the queue is considered full, and hence flow-controlled.  It is initially
  100.      set to the value specified by the _mmmm_iiii______hhhh_iiii_wwww_aaaa_tttt field in the _mmmm_oooo_dddd_uuuu_llll_eeee______iiii_nnnn_ffff_oooo
  101.      structure.  This field can be changed by drivers or modules.
  102.  
  103.      The _qqqq______llll_oooo_wwww_aaaa_tttt field is the low water mark for the queue.  This specifies
  104.      the number of bytes of data contained in messages on the queue such that
  105.      the queue is no longer flow-controlled.  It is initially set to the value
  106.      specified by the _mmmm_iiii______llll_oooo_wwww_aaaa_tttt field in the _mmmm_oooo_dddd_uuuu_llll_eeee______iiii_nnnn_ffff_oooo structure.  This field
  107.      can be changed by drivers or modules.
  108.  
  109. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  110.      _gggg_eeee_tttt_qqqq(D3), _mmmm_oooo_dddd_uuuu_llll_eeee______iiii_nnnn_ffff_oooo(D4), _mmmm_ssss_gggg_bbbb(D4), _pppp_uuuu_tttt_qqqq(D3), _qqqq_iiii_nnnn_iiii_tttt(D4), _ssss_tttt_rrrr_qqqq_gggg_eeee_tttt(D3),
  111.      _ssss_tttt_rrrr_qqqq_ssss_eeee_tttt(D3)
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.