| United States-English |
|
|
|
![]() |
X.25/ACC Update Guide > Chapter 2 Preparing to upgrade your systemFor Berkeley Sockets API users |
|
This section describes improvements that X.25 Streams provide for Berkeley Sockets users. You should carefully read this information in order to fully anticipate the effects that upgrading to X.25 Streams will have on your Berkeley Sockets-based applications. The ioctl(X25_CALL_ACPT_APPROVAL) system call allows applications to screen incoming calls. Table 2-1 Classic versus Streams
By issuing the ioctl(X25_CALL_ACPT_APPROVAL) before a listen() call you can prevent calls arriving between the issuance of a listen() and the ioctl call from being automatically accepted. The ioctl(X25_SET_FRAGMENT_SIZE) system call allows you to define the maximum message size that your application can receive. Table 2-2 Classic versus Streams
This allows you to avoid receiving large, unwanted messages that may arrive between the issuance of a connect() (or ioctl(X25_SEND_CALL_ACEPT)) call and the issuance of the ioctl(X25_SET_FRAGMENT_SIZE) call. The X.25 Streams product provides enhanced PVC management functions for the ioctl(X25_SETUP_PVC) call. The differences between X.25 Classic and X.25 Streams PVC management capabilities are summarized in the table below. Table 2-3 Classic versus Streams
Since, in X.25 Streams, the ioctl(X25_SETUP_PVC) call does not use the reset mechanism, HP recommends that you use the ioctl(X25_RESET_VC) call immediately after the ioctl(X25_SETUP_PVC) call to ensure proper end-to-end PVC connection before data is sent. In X.25 Streams, the ioctl(X25_RD_FACILITIES) call cannot be used to get default Facilities data because this information is automatically recovered by the ioctl(X25_WR_FACILITIES) call. Table 2-4 Classic versus Streams
If your application attempts to implement the ioctl(X25_RD_FACILITIES) call before a connection is established, the system will return the error message:
In X.25 Streams, when the Window Size facility is included in a call request packet, and the result of the negotiation is 430202 (default value), the call is accepted because this default value is automatically accepted. You can specify the Window Size value by setting the flow control value in your X.25 configuration file to:
The default CCITT X.25 Window Size value 430202 represents:
With X.25 Streams, the Closed User Group (CUG) facility is always reported by the ioctl(X25_RD_FACILITIES) call as extended (hexadecimal 0x47), regardless of whether the actual configured default is extended or basic. Table 2-5 Classic versus Streams
With X.25 Streams, the Transit Delay Selection facility is not reported by the ioctl(X25_RD_FACILITIES) call when a call packet containing this facility is received by a called or calling application. Table 2-6 Classic versus Streams
The End-to-End Transit Delay Selection facility contains 3 fields:
In X.25 Streams, the ioctl(X25_RD_FACILITIES) system call reports the cumulative and the maximum acceptable End-to-End Transit Delay fields as specified in your default configuration (as in X.25 Classic). The requested field value, however, is always reported as 0xffff. Table 2-7 Classic versus Streams
With X.25 Streams, the default throughput class values are not included with call requests when the calling application does not specify this value at connection time with the ioctl(X25_WR_FACILITIES) call. Table 2-8 Classic versus Streams
This will have no impact on users because the PDN (Public Data Network) automatically adds the default values that were specified at subscription time. You specify whether throughput class negotiation is allowed or not with the neg_outthruputclass parameter in your X.25 configuration file. To allow throughput class negotiation, set the thruputclass flag to ON. With X.25 Streams, the reason value for OOB_VC_CLEAR event signal is always 0 (zero) for both called and calling applications. Table 2-9 Classic versus Streams
Applications manage out-of-band events using a signal handler. When a VC is cleared, the signal handler sends the OOB_VC_CLEAR signal to the application. This signal contains three types of information:
With X.25 Streams only one bind() call can be issued per socket. This stops multiple bind() calls from allowing a socket to receive more than one call from the same interface. With X.25 Classic, two bind() calls can connect to the same socket if:
Once a bind() call "binds" a socket to a particular interface, any additional bind() calls will return the error code: 227(EADDRNOTAVAIL). With X.25 Streams, the connect() call sends outbound packets to the first initialized interface by default. With X.25 Streams, illegal system calls return the error code:
Table 2-12 Classic versus Streams
If the system call is legal but has an invalid argument, X.25 Streams returns the same value as X.25 Classic, i.e. errno 22 (EINVAL). In X.25 Streams calling applications can only send 32 bytes of called or calling Network Facilities data. Network Facilities are specified just after the 0x0000, 0x000f or 0x00ff markers in the following packet types:
Table 2-13 Classic versus Streams
X.25 Streams only supports recommendations specified in the CCITT 1988 and ISO 8208 standards. The only facility markers allowed are 0x0000, 0x000f and 0x00ff. Table 2-14 Classic versus Streams
The ioctl(X25_WR_FACILITIES) system call will return errno 22 (EINVAL) if any facilities codes other than CCITT 88 and ISO8208 are used by your application.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||