PAM Programming Manual
Link-Level Interfaces
PAM Programming Manual—142482
3-2
File-System Procedure Calls
File-System Procedure Calls
The level-2 programmatic interfaces use file-system procedure calls to communicate 
with ports. Applications format buffers containing multiple service data units (SDUs)—
referred to as aggregate SDU messages (Aggr^SDUs)—and send them to a port. SDUs 
are units of information passed between an application and an LSAP supported by PAM. 
Aggregate SDU messages are simply sets of SDUs and headers passed between an 
application and an LSAP in a single file-system request. The LSAP to which the 
aggregate SDU message is sent converts the SDUs to protocol data units (PDUs), which 
are the units of information passed between peer-protocol entities in the adapter and the 
attached LAN.
Each aggregate SDU message contains an aggregate SDU header and one or more 
SDUs. Each SDU also contains a header, followed by any associated user data, and 
begins on a word offset. Padding of 1 byte is done by the subsystem when SDUs with 
odd lengths are encountered. Aggregate SDU messages and foreign addresses (DLSAPs) 
are passed to the related outgoing procedure calls using extended address pointers. Byte 
offsets to positions within the aggregate SDU buffer are used to pass back to the 
application the locations of foreign addresses and user data. This has no effect on the 
addressing choice for your application.
The following file-system procedure calls are used with the level-2 interfaces:
•
FILE_OPEN_ or OPEN establishes a file-system connection between an application 
and a port. An application must first open a port before data transfer requests can be 
serviced. There is a one-to-one mapping between a port and the Proto^Type/LSAP 
fields in PDU headers. Each port can service up to 127 simultaneous file-system 
paths (openers). Ports can be opened in waited or nowaited mode.
•
WRITEX or WRITE passes an aggregate SDU header (Aggr^SDU^Hdr) and one or 
more SDUs to a port. WRITEs are queued and activated on a first-in, first-out 
(FIFO) basis, independent of READs. WRITEs, and SETMODEs share the same 
queue. The WRITE request is completed when the aggregate SDU is delivered to 
the appropriate level-2 service provider in the adapter.
•
READX or READ tells the port that the application is ready to receive an aggregate 
SDU. READs are also queued and activated on a first-in, first-out (FIFO) basis, 
independent of WRITEs and SETMODEs. A READ is activated when an inbound 
aggregate SDU is received from the adapter. The READ buffer contains an 
aggregate SDU header and one or more SDUs. If the read^count is not large enough 
to hold the aggregate SDU, it is returned with a file-system error (FEBADCOUNT), 
and the next READ is activated. If there are no READs pending that can hold the 
aggregate SDU, the SDU is discarded. Aggregate SDUs are delivered to the port in 
the following cases:
•
An SDU arrives that would make the total size of the aggregate SDU larger than 
the port’s configured maximum request size.
•
The number of SDUs received has reached the port’s data forward count 
threshold.
•
The port’s data forward time expires. The data forward time starts when the first 
SDU is received and placed in the aggregate SDU.










