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 / streams_interrupt.z / streams_interrupt
Encoding:
Text File  |  1998-10-30  |  5.4 KB  |  67 lines

  1.  
  2.  
  3.  
  4. ssssttttrrrreeeeaaaammmmssss____iiiinnnntttteeeerrrrrrrruuuupppptttt((((DDDD3333XXXX))))                                  ssssttttrrrreeeeaaaammmmssss____iiiinnnntttteeeerrrrrrrruuuupppptttt((((DDDD3333XXXX))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt - synchronize interrupt-level function with STREAMS
  10.      mechanism
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_tttt_rrrr_mmmm_pppp_...._hhhh_>>>>
  14.  
  15.      _tttt_yyyy_pppp_eeee_dddd_eeee_ffff _vvvv_oooo_iiii_dddd _((((_****_ssss_tttt_rrrr_iiii_nnnn_tttt_rrrr_ffff_uuuu_nnnn_cccc______tttt_))))_((((_vvvv_oooo_iiii_dddd _****_,,,, _vvvv_oooo_iiii_dddd _****_,,,, _vvvv_oooo_iiii_dddd _****_))))_;;;;
  16.  
  17.      _iiii_nnnn_tttt _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt_((((_ssss_tttt_rrrr_iiii_nnnn_tttt_rrrr_ffff_uuuu_nnnn_cccc______tttt _f_u_n_c_,,,, _vvvv_oooo_iiii_dddd _****_a_1_,,,, _vvvv_oooo_iiii_dddd _****_a_2_,,,, _vvvv_oooo_iiii_dddd _****_a_3_))))_;;;;
  18.  
  19. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  20.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt provides writers of STREAMS-based device drivers with
  21.      an interface for synchronizing interrupt-level functions with the STREAMS
  22.      mechanism on multi-processor IRIX systems. Under IRIX, it is not
  23.      permitted to call STREAMS interface routines (e.g., _aaaa_llll_llll_oooo_cccc_bbbb(), _pppp_uuuu_tttt_qqqq(),
  24.      _qqqq_eeee_nnnn_aaaa_bbbb_llll_eeee()) or otherwise manipulate STREAMS data structures from interrupt
  25.      level without first synchronizing with the underlying STREAMS mechanism.
  26.  
  27.      FFFFaaaaiiiilllluuuurrrreeee ttttoooo pppprrrrooooppppeeeerrrrllllyyyy ssssyyyynnnncccchhhhrrrroooonnnniiiizzzzeeee ccccoooouuuulllldddd rrrreeeessssuuuulllltttt iiiinnnn ccccoooorrrrrrrruuuupppptttteeeedddd ddddaaaattttaaaa ssssttttrrrruuuuccccttttuuuurrrreeeessss
  28.      aaaannnndddd kkkkeeeerrrrnnnneeeellll ppppaaaannnniiiiccccssss....
  29.  
  30.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt attempts to synchronize with the STREAMS mechanism and
  31.      execute _f_u_n_c, before returning to the caller. If _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt cannot
  32.      immediately synchronize with the STREAMS mechanism, it will schedule _f_u_n_c
  33.      for execution the next time synchronization can be achieved and will
  34.      return to the caller. Since the time between calling _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt
  35.      and the time that _f_u_n_c is executed is indeterminate, it is not advisable
  36.      to use _f_u_n_c to perform time-critical tasks (e.g., resetting hardware
  37.      state, reading hardware data buffers, etc.).
  38.  
  39.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt does not guarantee the spl level that _f_u_n_c will run at.
  40.      It is the responsibility of the driver writer to explicitly set the
  41.      desired spl level within _f_u_n_c. However, the driver writer "must not"
  42.      under any circumstances set the spl level to spl0 within _f_u_n_c.
  43.  
  44.    DDDDiiiiaaaaggggnnnnoooossssttttiiiiccccssss
  45.      _ssss_tttt_rrrr_eeee_aaaa_mmmm_ssss______iiii_nnnn_tttt_eeee_rrrr_rrrr_uuuu_pppp_tttt returns 1 if _f_u_n_c was executed, 0 if _f_u_n_c was scheduled
  46.      for later execution, and -1 on error.
  47.  
  48.    SSSSeeeeeeee AAAAllllssssoooo
  49.      _SSSS_TTTT_RRRR_EEEE_AAAA_MMMM_SSSS______TTTT_IIII_MMMM_EEEE_OOOO_UUUU_TTTT(D3X), _uuuu_nnnn_tttt_iiii_mmmm_eeee_oooo_uuuu_tttt(D3), _I_R_I_X _D_e_v_i_c_e _D_r_i_v_e_r _P_r_o_g_r_a_m_m_i_n_g _G_u_i_d_e
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.