/* * * DMC-11/DMR-11/DMP-11 status, characteristics and error definitions */ #ifndef _XMDEF_H #define _XMDEF_H struct xmdev { unsigned char xmdev$b_p1_class; /* device class */ unsigned char xmdev$b_p1_type; /* device type */ unsigned short xmdev$w_p1_mms; /* maximum message size */ unsigned char xmdev$b_p1_char; /* unit characteristics */ unsigned char xmdev$b_p1_sts; /* unit status */ unsigned char xmdev$b_p1_esum; /* error summary */ unsigned char xmdev$b_p1_tpi; /* transmit pipeline no. */ }; #define XM$M_CHR_MOP 0x01 #define XM$M_CHR_LOOPB 0x02 #define XM$M_CHR_HDPLX 0x04 #define XM$M_CHR_SLAVE 0x08 #define XM$M_CHR_MBX 0x10 #define XM$M_CHR_DMC 0x20 #define XM$M_CHR_CTRL 0x40 #define XM$M_CHR_TRIB 0x80 #define XM$M_STS_DCHK 0x0100 #define XM$M_STS_TIMO 0x0200 #define XM$M_STS_ORUN 0x0400 #define XM$M_STS_ACTIVE 0x0800 #define XM$M_STS_BUFFAIL 0x1000 #define XM$M_STS_RUNNING 0x2000 #define XM$M_STS_DISC 0x4000 #define XM$M_ERR_FATAL 0x010000 #define XM$M_ERR_MAINT 0x080000 #define XM$M_ERR_LOST 0x00100000 #define XM$M_ERR_THRESH 0x00200000 #define XM$M_ERR_TRIB 0x00400000 #define XM$M_ERR_START 0x00800000 #define XM$M_MDM_RTSHLD 0x01 #define XM$M_MDM_STNDBY 0x02 #define XM$M_MDM_MAINT2 0x04 #define XM$M_MDM_MAINT1 0x08 #define XM$M_MDM_FREQ 0x20 #define XM$M_MDM_RDY 0x40 #define XM$M_MDM_POLL 0x80 #define XM$M_MDM_SELM 0x0100 #define XM$M_MDM_INT 0x0800 #define XM$M_MDM_V35 0x1000 #define XM$M_MDM_RS232 0x4000 #define XM$M_MDM_RS422 0x8000 #define XM$M_MDM_CARRDET 0x01 #define XM$M_MDM_MSTNDBY 0x02 #define XM$M_MDM_CTS 0x04 #define XM$M_MDM_DSR 0x08 #define XM$M_MDM_HDX 0x10 #define XM$M_MDM_RTS 0x20 #define XM$M_MDM_DTR 0x40 #define XM$M_MDM_RING 0x80 #define XM$M_MDM_CHRMOD 0x0100 #define XM$M_MDM_MCLOCK 0x0200 #define XM$M_MDM_MODTEST 0x0400 #define XM$M_MDM_SIGQUAL 0x4000 #define XM$M_MDM_SIGRATE 0x8000 union xmdef { struct { unsigned xm$v_chr_mop : 1; /* MOP mode */ unsigned xm$v_chr_loopb : 1; /* loop back */ unsigned xm$v_chr_hdplx : 1; /* half duplex */ unsigned xm$v_chr_slave : 1; /* half duplex slave station */ unsigned xm$v_chr_mbx : 1; /* mailbox is enabled */ unsigned xm$v_chr_dmc : 1; /* DMC-11 compatability mode */ unsigned xm$v_chr_ctrl : 1; /* control station */ unsigned xm$v_chr_trib : 1; /* tributary station */ unsigned xm$v_sts_dchk : 1; /* data check occured */ unsigned xm$v_sts_timo : 1; /* timeout occured */ unsigned xm$v_sts_orun : 1; /* data over run occured */ unsigned xm$v_sts_active : 1; /* active unit */ unsigned xm$v_sts_buffail : 1; /* buffer allocation failure occured */ unsigned xm$v_sts_running : 1; /* protocol running */ unsigned xm$v_sts_disc : 1; /* line disconnect occured */ unsigned : 1; /* spare */ unsigned xm$v_err_fatal : 1; /* hardware error */ unsigned : 2; unsigned xm$v_err_maint : 1; /* DDCMP maint message received */ unsigned xm$v_err_lost : 1; /* data lost because of buffer size mismatch */ unsigned xm$v_err_thresh : 1; /* threshold errors */ unsigned xm$v_err_trib : 1; /* tributary malfunctioning */ unsigned xm$v_err_start : 1; /* DDCMP start message received */ } xm$r_xmdef_bits0; struct { unsigned xm$v_mdm_rtshld : 1; /* RTS hold */ unsigned xm$v_mdm_stndby : 1; /* select standby */ unsigned xm$v_mdm_maint2 : 1; /* maintenance mode 2 */ unsigned xm$v_mdm_maint1 : 1; /* maintenance mode 1 */ unsigned : 1; unsigned xm$v_mdm_freq : 1; /* select frequency */ unsigned xm$v_mdm_rdy : 1; /* data terminal ready */ unsigned xm$v_mdm_poll : 1; /* select polling modem mode */ unsigned xm$v_mdm_selm : 1; /* modem interface program selected */ unsigned : 2; /* unused */ unsigned xm$v_mdm_int : 1; /* integral modem */ unsigned xm$v_mdm_v35 : 1; /* V.35 */ unsigned : 1; /* unused */ unsigned xm$v_mdm_rs232 : 1; /* RS-232-C or RS423 */ unsigned xm$v_mdm_rs422 : 1; /* RS-422 */ } xm$r_xmdef_bits1; struct { unsigned xm$v_mdm_carrdet : 1; /* carrier detect */ unsigned xm$v_mdm_mstndby : 1; /* modem standby */ unsigned xm$v_mdm_cts : 1; /* clear to send */ unsigned xm$v_mdm_dsr : 1; /* data set ready */ unsigned xm$v_mdm_hdx : 1; /* half-duplex */ unsigned xm$v_mdm_rts : 1; /* request to send */ unsigned xm$v_mdm_dtr : 1; /* data terminal ready */ unsigned xm$v_mdm_ring : 1; /* ring */ unsigned xm$v_mdm_chrmod : 1; /* character or bit protocol mode */ unsigned xm$v_mdm_mclock : 1; /* maintenance clock */ unsigned xm$v_mdm_modtest : 1; /* modem test mode */ unsigned : 3; /* unused */ unsigned xm$v_mdm_sigqual : 1; /* signal quality */ unsigned xm$v_mdm_sigrate : 1; /* signal rate */ } xm$r_xmdef_bits2; }; #endif /*_XMDEF_H*/