| OpenSS7 SS7 for the Common Man | © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. Last modified: Sat, 01 Nov 2008 10:41:55 GMT | ||||||||||||||||
| |||||||||||||||||
| Manpage of LINKBLKDescription: 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 compactpciLINKBLKSection: Linux Fast-STREAMS DDI/DKI (9)Updated: 2008-10-31 Index Return to Main Contents NAMElinkblk - STREAMS link block structureSYNOPSIS#include <sys/stream.h> struct linkblk { struct queue *l_qtop; /* upper write queue */ struct queue *l_qbot; /* lower write queue */ int l_index; /* multiplexor index */ char __pad[4 * sizeof(int) + sizeof(size_t) + sizeof(mblk_t *)]; }; MEMBERSThe linkblk structure contains the following members:
INTERFACEDESCRIPTIONThe linkblk structure is used in the data portion of an M_IOCTL(9) message containing an I_LINK(7), I_PLINK(7), I_UNLINK(7), or I_PUNLINK(7), streamio(7) command. These M_IOCTL(9) message are sent to a multiplexing driver by the Stream head to allow a multiplexing driver to perform the necessary initialization, configuration, resource allocation or release, associated with linking one Stream beneath another via the multiplexing driver. The members of the linkblk structure are interpreted as follows:
When STREAMS receives a valid I_LINK(7) or I_PLINK(7) streamio(7) call from the user, it allocates an populates a linkblk structure. STREAMS finds the queue pair at the Stream end (diametrically opposite the Stream head on the Stream for which the streamio(7) was issued) and places a pointer to the write queue of the pair in l_qtop. Note that, although `top' appears in the name of this member, the write queue is at the bottom of the Stream attached to the upper multiplex. STREAMS locates the Stream head queue pointer associated with the Stream that was passed as a file descriptor in the arg argument to the ioctl(2s) call issuing the I_LINK(7) or I_PLINK(7) command: a pointer to the write queue of the pair is placed in l_qbot. Note that, although `bot' appears in the name of this member, the write queue is at the top of the Stream to be linked to the lower multiplex. A unique index number used to identify the link relation is assigned and placed into l_index. (See also COMPATIBILITY , below.) STREAMS then formulates an M_IOCTL (9) message, attaches the linkblk structure in an M_DATA(9) message block and sends the control downstream like any other I_STR(7)-based M_IOCTL(9) message. See M_IOCTL(9), M_IOCACK(9), M_IOCNAK(9), for more information on processing of input-output controls under STREAMS. When STREAMS receives a valid I_UNLINK(7) or I_PUNLINK(7) call from the user, it allocates and populates a linblk structure to be attached to a M_IOCTL(9) message in a similar manner to that described above. The difference is that the l_index and l_qbot members are populated from the link block located using the arg argument to the ioctl(2s) call issuing the I_LINK(7) or I_PLINK(7) command. USAGESTREAMS drivers and modules should only use the linkblk structure definition for accessing the data block of a M_IOCTL(9) message perforing an I_LINK(7), I_PLINK(7), I_UNLINK(7), or I_PUNLINK(7), operation. CONTEXTDirect access of the linkblk structure should only be made to the data part of an M_IOCTL(9) message containing a I_LINK(7), I_PLINK(7), I_UNLINK(7), or I_PUNLINK(7), command, as part of an input-output control operation to which a multiplexing driver is responding in the context of a qi_putp(9) or qi_srvp(9) procedure for the driver. MP-STREAMSWhen delivered in the M_IOCTL(9) message, the receiver of the message has exclusive access to the message and the contained linkblk structure. NOTICESWhen the data structure is present in the M_IOCTL(9) message, it should be considered as read-only. That is, it is not proper returning altered values in an M_IOCACK(9) message with a non-zero ioc_count member in the iocblk(9) control structure. SEE ALSOM_IOCTL(9), I_LINK(7), I_PLINK(7), I_UNLINK(7), I_PUNLINK(7), streamio(7), ioctl(2s), M_DATA(9), I_STR(7), M_IOCACK(9), M_IOCNAK(9), iocblk(9), qi_putp(9), qi_srvp(9), STREAMS(9). COMPATIBILITYThe linkblk structure is compatible with SVR 4.2 MP EFT[1], and implementations based on SVR 4.2[2], with the following portability considerations:
See STREAMS(9) for additional compatibility information. CONFORMANCEHISTORYThe linkblk structure was first introduced in SVR 3[4]. 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: 13:23:32 GMT, May 18, 2013 | ||||||||||||||||
| OpenSS7 SS7 for the Common Man |
| ||||||||||||||||
| Last modified: Sat, 01 Nov 2008 10:41:55 GMT © Copyright 1997-2007 OpenSS7 Corporation All Rights Reserved. |