ZCOM C I/F Library Routines

ZSEND (3X)

/*-- ZCOM Message ID Header --*/

 

typedef struct {

 

 

 

uint8

mstype;

/* Message Type */

 

uint8

msresp;

/* Message response code */

zaddr_type

mzdest;

/* Destination zcom addr */

zaddr_type

mzsrce;

/* Source zcom addr */

uint16

mtagw1;

/* Message tag word 1

*/

uint16

mtagw2;

/* Message tag word 2

*/

zaddr_type

mzaux1;

/* Auxiliary zcom addr */

} zmid_type;

 

 

/* Mask and values for message type */

 

#define ZCOM_MSTYPE_REMOTE

0x08

/* Mask for remote message bit */

#define ZCOM_MSTYPE____0

0

/* Undefined type */

#define ZCOM_MSTYPE_MSLT

1

/* From local terminal */

#define ZCOM_MSTYPE_LPLP

2

/* Local program to program */

#define ZCOM_MSTYPE_TOLZ

3

/* Timer message for local ZLU */

#define ZCOM_MSTYPE_LPLT

4

/* Local program to terminal */

#define ZCOM_MSTYPE_LSEM

5

/* Local system event message */

#define ZCOM_MSTYPE_RSLT

6

/* Response from local terminal */

#define ZCOM_MSTYPE_RSLP

7

/* Response from local program */

#define ZCOM_MSTYPE____8

8

/* Undefined type */

#define ZCOM_MSTYPE_MSRT

9

/* Remote terminal message */

#define ZCOM_MSTYPE_RPLP

10

/* Remote program to program */

#define ZCOM_MSTYPE_TORZ

11

/* Timer message for remote ZLU */

#define ZCOM_MSTYPE_RPLT

12

/* Remote program to terminal */

#define ZCOM_MSTYPE_RSEM

13

/* Remote system event message */

#define ZCOM_MSTYPE_RSRT

14

/* Response from remote terminal */

#define ZCOM_MSTYPE_RSRP

15

/* Response from remote program */

/* Mask of message response code */

 

#define ZCOM_MSRESP_LPR

0x80

/* Low priority transmit message */

#define ZCOM_MSRESP_XPS

0x40

/* Express transmit message */

#define ZCOM_MSRESP_PGW

0x08

/* Program is waiting for message */

#define ZCOM_MSRESP_BFR

0x04

/* Response with buffer and status */

#define ZCOM_MSRESP_DEF

0x02

/* Definite response */

#define ZCOM_MSRESP_ERR

0x01

/* Response if error */

/*-- ZCOM Message Request Header --*/

typedef struct {

 

 

uint8

mrqcode;

/* Request code */

uint8

mrqterm;

/* Terminal no. */

uint8

mrqstat;

/* Request status */

uint8

mrqtag;

/* Tag parameter */

uint16

mrqlen;

/* Data length */

} zmrq_type;

 

 

/* Message request code values */

 

 

#define ZCOM_MRQCODE_UND

0

/* Undefined type */

#define ZCOM_MRQCODE_READ

1

/* Terminal input */

#define ZCOM_MRQCODE_WRITE

2

/* Terminal write */

Chapter 4

285