📄 mpreg.h
字号:
/* * macro to adjust a circular buffer ptr * x = pointer or index * sz = size of circular buffer */#define adjptr(x,sz) ((x) = ((++(x) == (sz)) ? 0 : (x)))#define adjptrbk(x,sz) ((x) = ((x) == 0) ? (sz) : --(x))/* * Events from ASYNC Level 1 to Level 2 */#define RCVDTA 10 /* normal receive data available */#define PARERR 11 /* receive data with parity error */#define OVRNERR 12 /* receive data with overrun error */#define OVFERR 13 /* receive data with overflow error */#define FRAMERR 14 /* receive data with framing error */#define ACKXMT 15 /* successful completion of transmit */#define NORBUF 16 /* No Receive Buffers available */#define NOEBUF 17 /* No Event Buffers available */#define BRKASRT 18 /* Break condition detected *//* defines for error conditions */#define A_OK 0 /* No Errors */#define A_INVEVT 1 /* Invalid Event Error */#define A_IOCERR 2 /* Error while configuring port */#define A_SIZERR 3 /* Error in count of data chars to xmt */#define A_NXBERR 4 /* Transmit Incomplete due to lack of bufs *//* * Modem control signal control structure. */struct mdmctl { u_char mc_rngdsr; /* ring or dsr */ u_char mc_rts; /* request to send */ u_char mc_rate; u_char mc_dcd; /* data carrier detect */ u_char mc_sectx; /* secondary transmit */ u_char mc_cts; /* clear to send */ u_char mc_secrx; /* secondary receive */ u_char mc_dtr; /* data terminal ready */};/* defines for modem control lines */#define ASSERT 1 /* line asserted */#define DROP 2 /* line dropped */#define AUTO 3 /* auto mode enabled, rts only *//* * Async parameter structure. */struct asyncparam { u_char ap_xon, ap_xoff; /* xon-xoff characters */ u_char ap_xena; /* xon/xoff enabled */ u_char ap_xany; /* any received char enables xmitter */ struct mdmctl ap_modem; /* port modem control lines */ struct mdmctl ap_intena; /* modem signals which generate */ /* status change events */ u_char ap_data; /* number of data bits */ u_char ap_stop; /* number of stop bits */ u_char ap_baud; /* baud rate */ u_char ap_parity; /* even/odd/no parity */ u_char ap_loop; /* enable for local loopback */ u_char ap_rtimer; /* receive timer value (msec) */ short ap_fill; /* round to longword */};/* enable/disable signal codes */#define MPA_ENA 1 /* condition enabled */#define MPA_DIS 2 /* condition disabled *//* defines for ap_data */#define MPCHAR_5 0 /* 5 bits per character */#define MPCHAR_6 2 /* 6 bits per character */#define MPCHAR_7 1 /* 7 bits per character */#define MPCHAR_8 3 /* 8 bits per character *//* defines for ap_stop */#define MPSTOP_1 1 /* 1 stop bit per character */#define MPSTOP_1_5 2 /* 1 1/2 stop bits per character */#define MPSTOP_2 3 /* 2 stop bits per character *//* defines for ap_baud */#define MODEM 0#define M0 0 /* baud rate = 0 */#define M50 1 /* baud rate = 50 */#define M75 2 /* baud rate = 75 */#define M110 3 /* baud rate = 110 */#define M134_5 4 /* baud rate = 134.5 */#define M150 5 /* baud rate = 150 */#define M200 6 /* baud rate = 200 */#define M300 7 /* baud rate = 300 */#define M600 8 /* baud rate = 600 */#define M1200 9 /* baud rate = 1200 */#define M1800 10 /* baud rate = 1800 */#define M2400 11 /* baud rate = 2400 */#define M4800 12 /* baud rate = 4800 */#define M9600 13 /* baud rate = 9600 */#define MEXTA 14 /* baud rate = Ext A */#define MEXTB 15 /* baud rate = Ext B */#define M2000 16 /* baud rate = 2000 */#define M3600 17 /* baud rate = 3600 */#define M7200 18 /* baud rate = 7200 */#define M19200 19 /* baud rate = 19,200 */#define M24000 20 /* baud rate = 24,000 */#define M28400 21 /* baud rate = 28,400 */#define M37800 22 /* baud rate = 37,800 */#define M40300 23 /* baud rate = 40,300 */#define M48000 24 /* baud rate = 48,000 */#define M52000 25 /* baud rate = 52,000 */#define M56800 26 /* baud rate = 56,800 *//* defines for ap_parity */#define MPPAR_NONE 0 /* no parity */#define MPPAR_ODD 1 /* odd parity */#define MPPAR_EVEN 3 /* even parity *//* possible flags for Host MP_IOCTL Events */#define A_CHGX 1 /* IOCTL is only chging xonxoff params */#define A_MDMCHG 2 /* change modem control lines */#define A_MDMGET 3 /* get current state of modem ctl lines */#define A_CHGL1P 4 /* IOCTL is changing changing L1 params */#define A_BRKON 5 /* set port break bit */#define A_BRKOFF 6 /* clear port break bit */#define A_CHGALL 7 /* IOCTL is changing xonxoff params, */ /* pcnfg struct, & modem ctl structs */#define A_DISABX 8 /* disable port transmitter (ctl-s) */#define A_ENABLX 9 /* enable port transmitter (ctl-q) *//* possible flags for Host MP_WRITE Events */#define A_FLUSH 1 /* flush any queued transmit events */#define A_SSTOP 2 /* transmit a port stop (xoff) char */ /* before sending rest of event xmts */#define A_SSTART 3 /* transmit a port start (xon) char */ /* before sending rest of event xmts *//* possible flags for Outbound MP_READ Events */#define A_XOFF 1 /* transmitter stopped from by xoff char *//* Perpos flags for modem control fields */#define A_RNGDSR 00001#define A_RTS 00002#define A_RATE 00004 #define A_DCD 00010#define A_SECTX 00020 #define A_CTS 00040#define A_SECRX 00100#define A_DTR 00200#define DCDASRT 100 /* data carrier detect asserted */#define DTRASRT 101 /* data terminal ready asserted */#define RNGASRT 102 /* ring indicator asserted */#define DSRASRT 102 /* data set ready asserted */#define CTSASRT 103 /* clear to send asserted */#define RTSASRT 104 /* ready to send asserted */#define STXASRT 105 /* secondary transmit asserted */#define SRXASRT 106 /* secondary recieve asserted */#define RATEASRT 107 /* rate signal asserted */#define DCDDROP 108 /* data carrier detect dropped */#define DTRDROP 109 /* data terminal ready dropped */#define RNGDROP 110 /* ring indicator dropped */#define MPDSRDROP 110 /* data set ready dropped */#define CTSDROP 111 /* clear to send dropped */#define RTSDROP 112 /* ready to send dropped */#define STXDROP 113 /* secondary transmit dropped */#define SRXDROP 114 /* secondary recieve dropped */#define RATEDROP 115 /* rate signal dropped *//* Defines for filters and intena in portstat */#define MDM_OFF 0#define MDM_ON 1/* Modem on/off flags */#define MMOD_OFF 0#define MMOD_ON 1/* defintions for DL interface */#define MPDLBUFSIZE 1024/* mpdlioctl command defines */struct protports { char protoport[MPMAXPORT];};struct abdcf { short xmtbsz; /* transmit buffer size - should */ /* equal # of chars in a cblock */};struct bdcf { char loadname[NMPPROTO+1]; char protoports[MPMAXPORT]; char fccstimer; /* powerfail timer */ char fccsports; /* ports to affect */ char fccssoc; /* ports which will 'switch on close' */};/* These ioctls are for the dlmpcc command */#define MPIOPORTMAP _IOW('m',1, struct protports)#define MPIOHILO _IOW('m',3, short)#define MPIOENDCODE _IO('m',4)#define MPIOASYNCNF _IOW('m',7, struct abdcf)#define MPIOENDDL _IO('m',10)#define MPIOSTARTDL _IO('m',11)#define MPIORESETBOARD _IO('m',12)/* mpdlwrite opcode defines */#define MPDLCMD_NORMAL 1/* error messages printed at console , board & port # filled in later */#define A_INVSTS "Invalid Status Event "#define A_INVCMD "Invalid Event From the MPCC " #define A_NORBUF "No More Available Receive Buffers "#define A_NOEBUF "No More Available Event Buffers "#define A_OVRN "Overrun Error Detected "#define A_OVRF "Overflow Error Detected "#define A_NOXBUF "No More Available Transmit Event Buffers "#define A_XSIZE "Transmit Data Block Size Exceeds Event Data Buffer Size "#define A_NOFREIN "No Available Inbound Entries to Send Close Event "
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -