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 / iocblk.z / iocblk
Encoding:
Text File  |  1998-10-30  |  8.3 KB  |  133 lines

  1.  
  2.  
  3.  
  4. iiiiooooccccbbbbllllkkkk((((DDDD4444))))                                                          iiiiooooccccbbbbllllkkkk((((DDDD4444))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _iiii_oooo_cccc_bbbb_llll_kkkk - STREAMS _iiii_oooo_cccc_tttt_llll structure
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_ssss_tttt_rrrr_eeee_aaaa_mmmm_...._hhhh_>>>>
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
  14.  
  15. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.      The _iiii_oooo_cccc_bbbb_llll_kkkk structure describes a user's _iiii_oooo_cccc_tttt_llll(2) request.
  17.  
  18. UUUUSSSSAAAAGGGGEEEE
  19.      The _iiii_oooo_cccc_bbbb_llll_kkkk structure is used in _MMMM______IIII_OOOO_CCCC_TTTT_LLLL, _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK, and _MMMM______IIII_OOOO_CCCC_NNNN_AAAA_KKKK messages.
  20.      Modules and drivers usually convert _MMMM______IIII_OOOO_CCCC_TTTT_LLLL messages into _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK or
  21.      _MMMM______IIII_OOOO_CCCC_NNNN_AAAA_KKKK messages by changing the type and updating the relevant fields
  22.      in the _iiii_oooo_cccc_bbbb_llll_kkkk structure.
  23.  
  24.      Data cannot be copied to the user's buffer with an _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK message if
  25.      the _iiii_oooo_cccc_tttt_llll is transparent.
  26.  
  27.      No data can be copied to the user's buffer with an _MMMM______IIII_OOOO_CCCC_NNNN_AAAA_KKKK message.
  28.  
  29.      When processing a transparent _iiii_oooo_cccc_tttt_llll, the _iiii_oooo_cccc_bbbb_llll_kkkk structure is usually
  30.      overlaid with a _cccc_oooo_pppp_yyyy_rrrr_eeee_qqqq(D4) structure.  The stream head guarantees that
  31.      the message is large enough to contain either structure.
  32.  
  33.    SSSSttttrrrruuuuccccttttuuuurrrreeee DDDDeeeeffffiiiinnnniiiittttiiiioooonnnnssss
  34.      The _iiii_oooo_cccc_bbbb_llll_kkkk structure contains the following members:
  35.  
  36.      _iiii_nnnn_tttt     _iiii_oooo_cccc______cccc_mmmm_dddd_;;;;    _////_**** _iiii_oooo_cccc_tttt_llll _cccc_oooo_mmmm_mmmm_aaaa_nnnn_dddd _****_////
  37.      _cccc_rrrr_eeee_dddd______tttt  _****_iiii_oooo_cccc______cccc_rrrr_;;;;    _////_**** _uuuu_ssss_eeee_rrrr _cccc_rrrr_eeee_dddd_eeee_nnnn_tttt_iiii_aaaa_llll_ssss _****_////
  38.      _uuuu_iiii_nnnn_tttt______tttt  _iiii_oooo_cccc______iiii_dddd_;;;;     _////_**** _iiii_oooo_cccc_tttt_llll _IIII_DDDD _****_////
  39.      _uuuu_iiii_nnnn_tttt______tttt  _iiii_oooo_cccc______cccc_oooo_uuuu_nnnn_tttt_;;;;  _////_**** _nnnn_uuuu_mmmm_bbbb_eeee_rrrr _oooo_ffff _bbbb_yyyy_tttt_eeee_ssss _oooo_ffff _dddd_aaaa_tttt_aaaa _****_////
  40.      _iiii_nnnn_tttt     _iiii_oooo_cccc______eeee_rrrr_rrrr_oooo_rrrr_;;;;  _////_**** _eeee_rrrr_rrrr_oooo_rrrr _cccc_oooo_dddd_eeee _ffff_oooo_rrrr _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK _oooo_rrrr _MMMM______IIII_OOOO_CCCC_NNNN_AAAA_KKKK _****_////
  41.      _iiii_nnnn_tttt     _iiii_oooo_cccc______rrrr_vvvv_aaaa_llll_;;;;   _////_**** _rrrr_eeee_tttt_uuuu_rrrr_nnnn _vvvv_aaaa_llll_uuuu_eeee _ffff_oooo_rrrr _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK _****_////
  42.      The _iiii_oooo_cccc______cccc_mmmm_dddd field is the _iiii_oooo_cccc_tttt_llll command request specified by the user.
  43.  
  44.      The _iiii_oooo_cccc______cccc_rrrr field contains a pointer to the user credentials.
  45.  
  46.      The _iiii_oooo_cccc______iiii_dddd field is the _iiii_oooo_cccc_tttt_llll ID, used to uniquely identify the _iiii_oooo_cccc_tttt_llll
  47.      request in the stream.
  48.  
  49.      The _iiii_oooo_cccc______cccc_oooo_uuuu_nnnn_tttt field specifies the amount of user data contained in the
  50.      _MMMM______IIII_OOOO_CCCC_TTTT_LLLL message.  User data will appear in _MMMM______DDDD_AAAA_TTTT_AAAA message blocks linked
  51.      to the _MMMM______IIII_OOOO_CCCC_TTTT_LLLL message block.  If _iiii_oooo_cccc______cccc_oooo_uuuu_nnnn_tttt is set to the special value
  52.      _TTTT_RRRR_AAAA_NNNN_SSSS_PPPP_AAAA_RRRR_EEEE_NNNN_TTTT, then the _iiii_oooo_cccc_tttt_llll request is ``transparent.''  This means that
  53.      the user did not use the _IIII______SSSS_TTTT_RRRR format of STREAMS _iiii_oooo_cccc_tttt_lllls and the module or
  54.      driver will have to obtain any user data with _MMMM______CCCC_OOOO_PPPP_YYYY_IIII_NNNN messages, and
  55.      change any user data with _MMMM______CCCC_OOOO_PPPP_YYYY_OOOO_UUUU_TTTT messages.  In this case, the _MMMM______DDDD_AAAA_TTTT_AAAA
  56.      message block linked to the _MMMM______IIII_OOOO_CCCC_TTTT_LLLL message block contains the value of
  57.      the _a_r_g parameter in the _iiii_oooo_cccc_tttt_llll system call.  For an _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK message, the
  58.      _iiii_oooo_cccc______cccc_oooo_uuuu_nnnn_tttt field specifies the amount of data to copy back to the user's
  59.      buffer.
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. iiiiooooccccbbbbllllkkkk((((DDDD4444))))                                                          iiiiooooccccbbbbllllkkkk((((DDDD4444))))
  71.  
  72.  
  73.  
  74.      The _iiii_oooo_cccc______eeee_rrrr_rrrr_oooo_rrrr field can be used to set an error for either an _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK or
  75.      an _MMMM______IIII_OOOO_CCCC_NNNN_AAAA_KKKK message.
  76.  
  77.      The _iiii_oooo_cccc______rrrr_vvvv_aaaa_llll field can be used to set the return value in an _MMMM______IIII_OOOO_CCCC_AAAA_CCCC_KKKK
  78.      message.  This will be returned to the user as the return value for the
  79.      _iiii_oooo_cccc_tttt_llll system call that generated the request.
  80.  
  81. RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
  82.      _cccc_oooo_pppp_yyyy_rrrr_eeee_qqqq(D4), _cccc_oooo_pppp_yyyy_rrrr_eeee_ssss_pppp(D4), _dddd_aaaa_tttt_aaaa_bbbb(D4), _mmmm_eeee_ssss_ssss_aaaa_gggg_eeee_ssss(D5), _mmmm_ssss_gggg_bbbb(D4)
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.