Go to the source code of this file.
Data Structures | |
| struct | atphdr |
| struct | atpxobuf |
| struct | atpbuf |
| struct | atp_handle |
| struct | sreq_st |
| struct | rres_st |
| struct | rreq_st |
| struct | sres_st |
| struct | atp_block |
Macros | |
| #define | ATP_MAXDATA (578+4) |
| #define | ATP_BUFSIZ 587 |
| #define | ATP_HDRSIZE 5 |
| #define | ATP_TRELMASK 0x07 |
| #define | ATP_RELTIME 30 |
| #define | ATP_TREL30 0x0 |
| #define | ATP_TREL1M 0x1 |
| #define | ATP_TREL2M 0x2 |
| #define | ATP_TREL4M 0x3 |
| #define | ATP_TREL8M 0x4 |
| #define | ATP_TRIES_INFINITE -1 |
| #define | atp_sockaddr(h) |
| #define | atp_fileno(x) |
| #define | atp_sreqdata atp_data.sreqdata.atpd_data |
| #define | atp_sreqdlen atp_data.sreqdata.atpd_dlen |
| #define | atp_sreqtries atp_data.sreqdata.atpd_tries |
| #define | atp_sreqto atp_data.sreqdata.atpd_to |
| #define | atp_rresiov atp_data.rresdata.atpd_iov |
| #define | atp_rresiovcnt atp_data.rresdata.atpd_iovcnt |
| #define | atp_rreqdata atp_data.rreqdata.atpd_data |
| #define | atp_rreqdlen atp_data.rreqdata.atpd_dlen |
| #define | atp_sresiov atp_data.sresdata.atpd_iov |
| #define | atp_sresiovcnt atp_data.sresdata.atpd_iovcnt |
| #define | ATP_STS (1<<3) |
| #define | ATP_EOM (1<<4) |
| #define | ATP_XO (1<<5) |
| #define | ATP_FUNCMASK (3<<6) |
| #define | ATP_TREQ (1<<6) |
| #define | ATP_TRESP (2<<6) |
| #define | ATP_TREL (3<<6) |
Typedefs | |
| typedef struct atp_handle * | ATP |
Functions | |
| ATP | atp_open (uint8_t, const struct at_addr *) |
| int | atp_close (ATP) |
| int | atp_sreq (ATP, struct atp_block *, int, uint8_t) |
| Send ATP transaction service request. | |
| int | atp_rresp (ATP, struct atp_block *) |
| Receives ATP response packets. | |
| int | atp_rsel (ATP, struct sockaddr_at *, int) |
| Receive ATP packets. | |
| int | atp_rreq (ATP, struct atp_block *) |
| wait for a transaction service request | |
| int | atp_sresp (ATP, struct atp_block *) |
| send a transaction response | |
ATP packet format.
| #define ATP_BUFSIZ 587 |
maximum packet size
| #define ATP_EOM (1<<4) |
End Of Message
| #define atp_fileno | ( | x | ) |
| #define ATP_FUNCMASK (3<<6) |
mask all but function
| #define ATP_HDRSIZE 5 |
includes DDP type field
| #define ATP_MAXDATA (578+4) |
maximum ATP data size
| #define ATP_RELTIME 30 |
base release timer (in secs)
| #define atp_rreqdata atp_data.rreqdata.atpd_data |
| #define atp_rreqdlen atp_data.rreqdata.atpd_dlen |
| #define atp_rresiov atp_data.rresdata.atpd_iov |
| #define atp_rresiovcnt atp_data.rresdata.atpd_iovcnt |
| #define atp_sockaddr | ( | h | ) |
| #define atp_sreqdata atp_data.sreqdata.atpd_data |
| #define atp_sreqdlen atp_data.sreqdata.atpd_dlen |
| #define atp_sreqto atp_data.sreqdata.atpd_to |
| #define atp_sreqtries atp_data.sreqdata.atpd_tries |
| #define atp_sresiov atp_data.sresdata.atpd_iov |
| #define atp_sresiovcnt atp_data.sresdata.atpd_iovcnt |
| #define ATP_STS (1<<3) |
Send Transaction Status
| #define ATP_TREL (3<<6) |
Trans. RELease
| #define ATP_TREL1M 0x1 |
these are passed in flags of
| #define ATP_TREL2M 0x2 |
atp_sreq call, and set in the
| #define ATP_TREL30 0x0 |
release time codes
| #define ATP_TREL4M 0x3 |
packet control info.
| #define ATP_TREL8M 0x4 |
| #define ATP_TRELMASK 0x07 |
mask all but TREL
| #define ATP_TREQ (1<<6) |
Trans. REQuest
| #define ATP_TRESP (2<<6) |
Trans. RESPonse
| #define ATP_TRIES_INFINITE -1 |
for atp_sreq, etc
| #define ATP_XO (1<<5) |
eXactly Once mode
| typedef struct atp_handle* ATP |
|
extern |
wait for a transaction service request
| ah | open atp handle |
| atpb | parameter block |
Receives ATP response packets.
| ah | open atp handle |
| atpb | parameter block |
|
extern |
Receive ATP packets.
| ah | open atp handle |
| faddr | address to receive from |
| func | which function(s) to wait for; 0 means request or response |
Send ATP transaction service request.
| ah | open atp handle |
| atpb | parameter block |
| respcount | buffers available for response |
| flags | ATP_XO, ATP_TREL |