HPlogo X25/9000: X.25/9000 Programmer's Guide > Appendix A  X.25 Packet Formats

DATA Packet

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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.

Figure A-4 DATA Packet (Modulo 8)

[DATA Packet (Modulo 8)]

The access to the fields in the DATA packet is described below:

General Format Identifier

Contains 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 Identifier

Contains 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 Number

Indicates the sequence number of the last packet received. It is controlled by the subsystem and cannot be read nor written by the application.

M Bit

Indicates 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 Number

Indicates the sequence number of this packet. It is controlled by the sub system and cannot be read nor written by the application.

User Data

Contains 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.