| OpenSS7 SS7 for the Common Man | © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. Last modified: Sat, 01 Nov 2008 10:42:04 GMT | ||||||||||||||||
| |||||||||||||||||
| Manpage of MI_TIMER_Q_SWITCHDescription: Manual PageKeywords: ss7 ss7/ip ss7 over ip ss7 mtp ss7 sccp ss7 tcap sigtran mtp sccp tcap openss7 acb56 linux telephony pstn linux telephony linux nebs linux compactpciMI_TIMER_Q_SWITCHSection: OpenSS7 STREAMS Compatibility DDI/DKI (9)Updated: 2008-10-31 Index Return to Main Contents NAMEmi_timer_q_switch - switch STREAMS queues for a timer messageSYNOPSIS#define _MPS_SOURCE
ARGUMENTS
INTERFACEDESCRIPTIONmi_timer_q_switch() switches the timer message, mp, from its current queue to the new queue specified by the q argument. Because it might not be possible to cancel the current timer, mp, a new timer message, new_mp, must be provided to the function for use the case that mp, cannot be cancelled. mi_timer_q_switch () will return the pointer to the message that represents the new timer. USAGEmi_timer_q_switch() is similar to mi_timer_move(9); however, mi_timer_move(9) is far easier to use. mi_timer_q_switch() can be used in the same circumstances as mi_timer_move(9), that is, whenever it is desired to move timers from their original targeted queue to a new one. mi_timer_q_switch() is a little more cumbersome in that it requires the pre-allocation of a fallback timer message, should it be impossible to cancel the existing one, and the handling of the disposition of these timer messages after the call returns. RETURNmi_timer_q_switch() returns a pointer to the new timer message block (either mp or new_mp). ERRORSmi_timer_q_switch() is always successful. If mi_timer_q_switch() is passed NULL or invalid pointers, or pointers to invalid structures, as arguments, the kernel may become unstable and a kernel panic may ensue. CONTEXTmi_timer_q_switch() can be called from any context; however, it is intended to be called from a STREAMS driver or module qi_putp(9) or qi_srvp(9) procedure, or qi_qopen(9) or qi_qclose(9) routine. MP-STREAMSmi_timer_q_switch() is MP-safe. It uses atomic exchanges to guarantee atomicity of timer state. NOTICESmi_timer_q_switch() is an MPS®-specific function: _MPS_SOURCE, _AIX_SOURCE or _MAC_SOURCE must be defined before including DDI/DKI include files to expose this symbol. OpenSS7 STREAMS Compatibility must also have been compiled with CONFIG_STREAMS_COMPAT_MPS, CONFIG_STREAMS_COMPAT_MPS_MODULE, CONFIG_STREAMS_COMPAT_AIX, CONFIG_STREAMS_COMPAT_AIX_MODULE, CONFIG_STREAMS_COMPAT_MAC or CONFIG_STREAMS_COMPAT_MAC_MODULE defined. IMPLEMENTATIONmi_timer_q_switch() attempts to cancel the existing timer message, mp, using mi_timer_cancel(9). If the timer was cancelled and is not queued, it is restarted using mi_timer(9) for the time remaining on the timer but with the new queue as a target, and the existing message pointer will be returned. If the timer message, mp, was queued at the time that it was cancelled, the new timer message will be started for the time remaining on the timer at cancellation and the new message pointer will be returned. SEE ALSOmpscompat(9), aixcompat(9), maccompat(9), STREAMS(9). BUGSmi_timer_q_switch() has no known bugs. COMPATIBILITYmi_timer_q_switch() is compatible with MPS®, AIX®, MacOT®, and Solaris®, with the following portability considerations:
See mpscompat(9), aixcompat(9), maccompat(9), and STREAMS(9) for additional compatibility considerations. CONFORMANCEMPS® DDI documentation, MacOT® DDI documentation[2, 3], AIX® documentation[4]. HISTORYmi_timer_q_switch() first appeared in MPS®. mi_timer_q_switch() is a Mentat, Inc. function that goes all the way back to the pre-OSF/1 Mentat implementations. mi_timer_q_switch() appears in MacOT®[3] and AIX®[4]. An undocumented version of mi_timer_q_switch() appears in Solaris®. REFERENCES
TRADEMARKS
Other trademarks are the property of their respective owners. IDENTIFICATION
Copyright©1997-2008OpenSS7 Corp.
All Rights Reserved.
Index
This document was created by man2html, using the manual pages. Time: 08:10:22 GMT, May 25, 2013 | ||||||||||||||||
| OpenSS7 SS7 for the Common Man |
| ||||||||||||||||
| Last modified: Sat, 01 Nov 2008 10:42:04 GMT © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. |