![]() |
![]() |
X25/9000: X.25/9000 Programmer's Guide > Appendix A X.25 Packet Formats![]() DATA Packet |
|
A client process sends a DATA packet to terminate an SVC with a remote server. The subsystem sends a DATA packet when a send() or write() sys tem call is issued. The access to the fields in the DATA packet is described below: General Format IdentifierContains the D bit and the packet sequence count (modulo 8). The packet sequence window size cannot be read or written by an X.25 application. To read this field on an incoming packet:This field cannot be directly read by the application. The arrival of a DATA packet with the D bit set can be detected with the ioctl(X25_NEXT_MSG_STAT) system call. The X.25 subsystem automati cally responds to an incoming DATA packet with the D bit set when data is read by the application (D bit confirmation indicates that the data has been read by the remote X.25 application.) To write this field on an outgoing packet:Use the ioctl(X25_SEND_TYPE) before issuing a send() or write() system call. Logical Channel IdentifierContains the logical channel identifier. It is controlled by the X.25 subsystem. It can be read with the ioctl(X25_RD_LCI) after the call has been estab lished. Receive Sequence NumberIndicates the sequence number of the last packet received. It is controlled by the subsystem and cannot be read nor written by the application. M BitIndicates that the packet is part of a group of packets (a message). It is set whenever the buffer specified in a send() or write() system call is larger than the maximum packet size, or when the X25_MDTF_BIT is set in the ioctl(X25_SEND_TYPE) system call. Packets with the M bit set are part of a larger message. The entire message must be read by at a single recv() or read() system call, or as a series of fragments when the ioctl(X25_SET_FRAGMENT_SIZE) system call is used. This field cannot be directly read or written by an application. Send Sequence NumberIndicates the sequence number of this packet. It is controlled by the sub system and cannot be read nor written by the application. User DataContains the data being transmitted in this packet. To read this field on an incoming packet:Use the recv() or read() system calls to read this field. To write this field on an outgoing packet:Use the send() or write() system calls to write this field. |