HP X.25/9000 Programmer's Guide

4
Contents
Connection Establishment for the Server Process. . . . . . . . . . . . . . . . . 27
Creating a Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Binding an X.121 Address to a Socket. . . . . . . . . . . . . . . . . . . . . . . . . 28
Preparing a Listen Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Accepting a connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Strategies for Server Design. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Connection Establishment for the Client Process . . . . . . . . . . . . . . . . . 34
Creating a Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Requesting a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Controlling Call Acceptance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
The ioctl (X25_CALL_ACPT_APPROVAL) Call . . . . . . . . . . . . . . . . . 38
The ioctl (X25_SEND_CALL_ACEPT) Call. . . . . . . . . . . . . . . . . . . . . 39
Terminating a Connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Closing a Socket Descriptor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Shutting Down a Socket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Using Permanent Virtual Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Preparing a PVC for Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4. Sending and Receiving Data
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Data Transmission Requirements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Sending Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
Receiving Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Sending and Receiving Large Messages . . . . . . . . . . . . . . . . . . . . . . . 53
Using the D (Delivery Confirmation) Bit. . . . . . . . . . . . . . . . . . . . . . . 54
Using the Q (Qualifier) Bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Controlling the MDTF, D, and Q Bits . . . . . . . . . . . . . . . . . . . . . . . . . 56
Using Nonblocking I/O. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The ioctl(FIOSNBIO) call. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
36960-90061.bk Page 4 Friday, November 10, 2000 3:42 PM