ACC Release Notes for the B.03.01 Release

39
Advanced Communications Controller Release Notes for the B.03.01 Release
Major Enhancements and New Features
Changes for ACC Development
This release of ACC software supports true multi-threading.
All APIs are enhanced to be Thread-Safe using POSIX
(1003.1c) kernel threads. The ACC kernel drivers are also
optimized for multiprocessor hardware. Hence, maximum
concurrency and true physical parallelism can be achieved
with multiprocessor hardware.
During compilation and linking, the POSIX thread library is
required to link an ACC application. The thread option is also
required if the application is multi-threaded. For example, the
following options are to be used in cc:
-D_POSIX_C_SOURCE=199506L -lzcom_c -lpthread
Fields ltmxtm and ltsubch are removed from the Logical
Terminal Table (zltt_type). The same information can be
retrieved from the Physical Terminal Table (zptt_type), fields
ptmx_term and subch.
To support 64-bit operations, the API zltstore( ) is modified to
silently round up the storage size to be allocated to a multiple
of 8-bytes. For consistency, this behavior is the same in both
32/64-bit ACC.
Three new ZX25 API calls have been added in conjunction with
the D-bit enhancements to the X.25 protocol. The calls are:
zx25dbit_ack() used to acknowledge the receipt of an X.25
message fragment with the D-bit set to 1. zx25int_conf() used
to acknowledge the receipt of an interrupt packet on an X.25
virtual circuit. zx25send_int() is provided as the preferred
method for sending interrupt data on an X.25 virtual circuit.
For backwards compatibility, the use of zcntl() is still
supported, but if using this older call, the interrupt data may
not be sent when a virtual circuit is transmit flow control
blocked.
When a T1 port is dynamically configured using zconfig()
timeslots 25 to 31 inclusive and timeslot zero can only be
assigned to subchannel zero, otherwise a status code
(PT_BAD_TS) will be returned. When an E1 port is