| OpenSS7 SS7 for the Common Man | © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. Last modified: Sat, 01 Nov 2008 10:41:53 GMT | ||||||||||||||||
| |||||||||||||||||
| Manpage of M_SIGDescription: 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 compactpciM_SIGSection: Linux Fast-STREAMS DDI/DKI (9)Updated: 2008-10-31 Index Return to Main Contents NAMEM_SIG - STREAMS signal messageFORMATThe M_SIG message block is a datab(9) structure and associated data buffer that contains structured data. An M_SIG message is a normal priority message that consists of a single M_SIG message block. The M_SIG message block contains a single unsigned char number indicating the signal number (defined in <sys/signal.h>), to be delivered to the process or process group. INTERFACEDESCRIPTIONThe M_SIG message is a normal priority message that is generated by a driver or module and sent upstream to the Stream head, requesting that a signal be posted to a process or process group. The format of the M_SIG message is a single M_SIG message block containing in its first, and only, byte, the signal number (as defined in <sys/signal.h>) to be posted. The M_SIG message is one of four message types, M_DATA(9), M_PROTO(9), M_PASSFP(9), and M_SIG, that are placed on the Stream head read queue by the Stream head read-side qi_putp(9) procedure. This means that the M_SIG message is not processed by the Stream head until the M_SIG message is at the head of the Stream head read queue, and a process makes an attempt to read from the queue (using system call such as read(2s), readv(2s), getmsg(2), getpmsg(2s), or a read-like ioctl(2s)). When the M_SIG message is processed by the Stream head as part of a read operation, the Stream head examines the signal number contained in sole byte of the message. If the signal number contained in the message is {SIGPOLL}, the {SIGPOLL} signal will be posted to each process that registered for the S_MSG event using the I_SETSIG(7) command to ioctl(2s). If the signal number contained in the message is not {SIGPOLL}, then the signal is posted to the process group, if any, associated with the Stream. Once the Stream head posts the signal to any process or process group meeting the criteria above, it frees the message. In contrast, the M_PCSIG(9) message will generate a signal directly from the Stream head read queue qi_putp(9) procedure. M_SIG messages cannot be generated directly by a user level process. M_SIG messages are consumed by the Stream head. M_SIG messages arriving at a non-multiplexing driver can be discarded (ignored and freed). M_SIG messages can be generated by drivers and modules. USAGEM_SIG can be used by a driver or module to generate a signal to a process within the message stream toward the Stream head. The signal can be used to signal processes immediately before an important service interface message will be read from the Stream. M_SIG can be used to alert processes waiting on POLLMSG in poll(2s), registered for S_MSG with I_SETSIG(7), or within a process group of a terminal, controlling terminal, or socket. The next read operation (e.g, getpmsg(2s)) performed by the alerted process will read the service interface message following the M_SIG. The use of M_SIG in this fashion, is normally detailed as part of the service interface definition for the module or driver. Guidelines for processing of the M_SIG message are as follows:
NOTICESNote that a process group is normally associated with a Stream under the following conditions:
Note also that the M_SIG message is not the proper way to post {SIGHUP}: {SIGHUP} should be sent to the session leader instead of the process group for a controlling terminal. To post a {SIGHUP} to the session leader for a controlling terminal, use the M_HANGUP(9) message instead. SEE ALSOM_PCSIG(9), I_SETSIG(7), M_HANGUP(9) streamio(7), ioctl(2s), open(2s), poll(2s), M_SETOPTS(9), termios(7), sockios(7), read(2s), readv(2s), getmsg(2), getpmsg(2s), M_DATA(9), M_PROTO(9), M_PASSFP(9), pipe(4). sigaction(2), datab(9), msgb(9). COMPATIBILITYThe M_SIG STREAMS message is compatible with SVR 4.2 MP STREAMS, and implementations based on SVR 4, with the following portability considerations:
See STREAMS(9) for additional compatibility information. CONFORMANCEHISTORYThe M_SIG message first appeared in SVR 3[6]. 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: 17:21:35 GMT, May 23, 2013 | ||||||||||||||||
| OpenSS7 SS7 for the Common Man |
| ||||||||||||||||
| Last modified: Sat, 01 Nov 2008 10:41:53 GMT © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. |