User guide
130 DC 900-1338I
Protocol Software Toolkit Programmer Guide
The data buffer has the following structure:
struct data_buffer
{
struct SBH_TYPE sbh; /* (defined in oscif.h) */
ICP_HDR icp_hdr;
union
{
PROT_HDR prot_hdr;
XMT_HDR xmt_hdr;
} prot_hdrs;
bit8 data; /* start of data */
};
typedef struct data_buffer DATA_BUFFER;
The structures that make it up are as follows:
struct SBH_TYPE
{
struct SBH_TYPE *sb_nxte; /* next element */
struct SBH_TYPE *sb_pree; /* previous element */
struct SBH_TYPE *sb_thse; /* this element */
struct SBH_TYPE *sb_nxtb; /* next buffer */
unsigned short sb_pid; /* partition ID */
unsigned short sb_dlen; /* data length */
unsigned short sb_disp; /* disposition flag */
unsigned short sb_dmod; /* disposition modifier */
};
struct icp_hdr /* ICP message header */
{
bit16 su_id; /* service user (client) ID */
bit16 sp_id; /* service provider (server) ID */
bit16 count; /* size of data following this header */
bit16 command; /* function code */
bit16 status; /* function status */
bit16 params[3]; /* API specific parameters */
};
typedef struct icp_hdr ICP_HDR;