home *** CD-ROM | disk | FTP | other *** search
-
-
-
- rrrrmmmmvvvvbbbb((((DDDD3333)))) rrrrmmmmvvvvbbbb((((DDDD3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- _rrrr_mmmm_vvvv_bbbb - remove a message block from a message
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_ssss_tttt_rrrr_eeee_aaaa_mmmm_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
- _mmmm_bbbb_llll_kkkk______tttt _****_rrrr_mmmm_vvvv_bbbb_((((_mmmm_bbbb_llll_kkkk______tttt _****_m_p_,,,, _mmmm_bbbb_llll_kkkk______tttt _****_b_p_))))_;;;;
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _m_p Pointer to the message from which a message block is to be
- removed.
-
- _b_p Pointer to the message block to be removed.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- _rrrr_mmmm_vvvv_bbbb removes the message block specified by _b_p from the message specified
- _m_p and returns a pointer to the altered message.
-
- RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
- On success, a pointer to the message (minus the removed block) is
- returned. If _b_p was the only block in the message before _rrrr_mmmm_vvvv_bbbb was
- called, _NNNN_UUUU_LLLL_LLLL is returned. If the designated message block (_b_p) was not
- in the message, -1 is returned.
-
- UUUUSSSSAAAAGGGGEEEE
- The message block is not freed, merely removed from the message. It is
- the caller's responsibility to free the message block.
-
- LLLLeeeevvvveeeellll
- Base or Interrupt.
-
- SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
- Does not sleep.
-
- Driver-defined basic locks, read/write locks, and sleep locks may be held
- across calls to this function.
-
- EEEExxxxaaaammmmpppplllleeeessss
- This routine removes all zero-length _MMMM______DDDD_AAAA_TTTT_AAAA message blocks from the given
- message. For each message block in the message, we save the next message
- block (line 9). If the current message block is of type _MMMM______DDDD_AAAA_TTTT_AAAA and has
- no data in its buffer (lines 10-11), then we remove the message block
- from the message (line 12) and free it (line 13). In either case, we
- continue with the next message block (line 15), until we have checked
- every message block in the message.
-
- _1111 _vvvv_oooo_iiii_dddd
- _2222 _xxxx_xxxx_cccc_llll_eeee_aaaa_nnnn_((((_mmmm_pppp_))))
- _3333 _mmmm_bbbb_llll_kkkk______tttt _****_mmmm_pppp_;;;;
- _4444 _{{{{
- _5555 _mmmm_bbbb_llll_kkkk______tttt _****_tttt_mmmm_pppp_;;;;
- _6666 _mmmm_bbbb_llll_kkkk______tttt _****_nnnn_mmmm_pppp_;;;;
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- rrrrmmmmvvvvbbbb((((DDDD3333)))) rrrrmmmmvvvvbbbb((((DDDD3333))))
-
-
-
- _7777 _tttt_mmmm_pppp _==== _mmmm_pppp_;;;;
- _8888 _wwww_hhhh_iiii_llll_eeee _((((_tttt_mmmm_pppp_)))) _{{{{
- _9999 _nnnn_mmmm_pppp _==== _tttt_mmmm_pppp_----_>>>>_bbbb______nnnn_eeee_xxxx_tttt_;;;;
- _1111_0000 _iiii_ffff _((((_((((_tttt_mmmm_pppp_----_>>>>_bbbb______dddd_aaaa_tttt_aaaa_pppp_----_>>>>_dddd_bbbb______tttt_yyyy_pppp_eeee _====_==== _MMMM______DDDD_AAAA_TTTT_AAAA_)))) _&&&&_&&&&
- _1111_1111 _((((_tttt_mmmm_pppp_----_>>>>_bbbb______rrrr_pppp_tttt_rrrr _====_==== _tttt_mmmm_pppp_----_>>>>_bbbb______wwww_pppp_tttt_rrrr_))))_)))) _{{{{
- _1111_2222 _mmmm_pppp _==== _rrrr_mmmm_vvvv_bbbb_((((_mmmm_pppp_,,,, _tttt_mmmm_pppp_))))_;;;;
- _1111_3333 _ffff_rrrr_eeee_eeee_bbbb_((((_tttt_mmmm_pppp_))))_;;;;
- _1111_4444 _}}}}
- _1111_5555 _tttt_mmmm_pppp _==== _nnnn_mmmm_pppp_;;;;
- _1111_6666 _}}}}
- _1111_7777 _}}}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-