Sun Microsystems 3U 用户手册

下载
页码 142
Appendix C
Application Programmer’s Interface
91
The Q.93B driver is an M-to-N mux STREAMS driver. Multiple application programs
can be plumbed above the driver, and multiple physical interfaces can be connected
below Q.93B. Applications can access any or all of the physical interfaces, and
messages received on the physical interfaces can be directed to any of the
applications. To direct messages through the Q.93B driver, messages from
applications must include a physical interface name to identify the outgoing
interface and an SAP to identify the application to which the message should be
directed on the receiving host.
Send messages to Q.93B by applications according to the format illustrated in
; kernel applications use
putnext(9f)
to send the mblocks shown, and
user applications send two corresponding
strbufs
using
putmsg(2)
.
FIGURE C-2
Message Format
The structure included in the M_PROTO mblock is defined as the
qcc_hdr_t
structure in the
<atm/qcctypes.h>
header file. In the second mblock, the Q.2931
header portion (9 bytes) of the Q.2931 message is blank and is later filled in by the
TABLE C-2
Fields in the M_PROTO mblock
Message
Explanation
Ifname
Null-terminated string containing the device name
Call_ID
Unique number from Q.93B for each interface.
Type
Same as the Q.2931 message type except there is a local non-Q.2931
message type
SETUP_ACK
. The
SETUP_ACK
message is used to provide
the
Call_ID
to the user.
Error_Code
Error returned from Q.93B when an erroneous message is received from
the user. The same mblock chain is returned to the user with the
Error_Code
field set. The user must always clear this field
Call_Tag
Number assigned by the calling application layer to a
SETUP
message.
When a
SETUP_ACK
is received from Q.93B, the
Call_ID
has been set;
use the
Call_Tag
field to identify the acknowledgment (ack) with the
original request. From that point on, use the
Call_ID
value to identify
the call.
Ifname
Call_ID
Type
Error_Code
M_PROTO
M_DATA
mp
Q.2931 Message
(9)
(16)
Information
Elements (IEs)
Call_Tag
R
S
V