summaryrefslogtreecommitdiffstats
path: root/sys/i386/include/cronyx.h
diff options
context:
space:
mode:
authorjkh <jkh@FreeBSD.org>1995-10-04 22:24:16 +0000
committerjkh <jkh@FreeBSD.org>1995-10-04 22:24:16 +0000
commit8a1fa70dc0da9908f692ff6de5fe8ca9cad9f310 (patch)
tree2fe87f819c9da98ccb878d0641f4b626f15c348d /sys/i386/include/cronyx.h
parent1c1ef85e1307f05f0ae122e54088a9f8e7425ef7 (diff)
downloadFreeBSD-src-8a1fa70dc0da9908f692ff6de5fe8ca9cad9f310.zip
FreeBSD-src-8a1fa70dc0da9908f692ff6de5fe8ca9cad9f310.tar.gz
This upgrades the driver for Cronyx-Sigma multiplexor boards
from version 1.2 to version 1.9. Submitted by: Serge Vakulenko, <vak@cronyx.ru>
Diffstat (limited to 'sys/i386/include/cronyx.h')
-rw-r--r--sys/i386/include/cronyx.h22
1 files changed, 21 insertions, 1 deletions
diff --git a/sys/i386/include/cronyx.h b/sys/i386/include/cronyx.h
index 9421cbc..0ea0e65 100644
--- a/sys/i386/include/cronyx.h
+++ b/sys/i386/include/cronyx.h
@@ -11,7 +11,7 @@
* or modify this software as long as this message is kept with the software,
* all derivative works or modified versions.
*
- * Version 1.1, Wed Oct 26 16:09:46 MSK 1994
+ * Version 1.9, Wed Oct 4 18:58:15 MSK 1995
*/
/*
* Asynchronous channel mode -------------------------------------------------
@@ -382,6 +382,7 @@ typedef struct {
cx_opt_bisync_t bopt; /* bisync mode options */
cx_opt_x21_t xopt; /* x.21 mode options */
cx_soft_opt_t sopt; /* software options and state flags */
+ char master[16]; /* master interface name or \0 */
} cx_options_t; /* user settable options */
typedef struct _chan_t {
@@ -389,6 +390,7 @@ typedef struct _chan_t {
unsigned char num; /* channel number, 0..15 */
struct _board_t *board; /* board pointer */
struct _chip_t *chip; /* controller pointer */
+ struct _stat_t *stat; /* statistics */
unsigned long rxbaud; /* receiver speed */
unsigned long txbaud; /* transmitter speed */
cx_chan_mode_t mode; /* channel mode */
@@ -410,6 +412,8 @@ typedef struct _chan_t {
#ifdef KERNEL
struct tty *ttyp; /* tty structure pointer */
struct ifnet *ifp; /* network interface data */
+ struct ifnet *master; /* master interface, or ==ifp */
+ struct _chan_t *slaveq; /* slave queue pointer, or NULL */
caddr_t bpf; /* packet filter data */
cx_soft_opt_t sopt; /* software options and state flags */
cx_break_t brk; /* line break mode */
@@ -426,6 +430,20 @@ typedef struct _chip_t {
unsigned long oscfreq; /* oscillator frequency in Hz */
} cx_chip_t;
+typedef struct _stat_t {
+ unsigned char board; /* adapter number, 0..2 */
+ unsigned char channel; /* channel number, 0..15 */
+ unsigned long rintr; /* receive interrupts */
+ unsigned long tintr; /* transmit interrupts */
+ unsigned long mintr; /* modem interrupts */
+ unsigned long ibytes; /* input bytes */
+ unsigned long ipkts; /* input packets */
+ unsigned long ierrs; /* input errors */
+ unsigned long obytes; /* output bytes */
+ unsigned long opkts; /* output packets */
+ unsigned long oerrs; /* output errors */
+} cx_stat_t;
+
typedef struct _board_t {
unsigned short port; /* base board port, 0..3f0 */
unsigned short num; /* board number, 0..2 */
@@ -439,6 +457,7 @@ typedef struct _board_t {
unsigned short bcr1b; /* BCR1b image */
cx_chip_t chip[NCHIP]; /* controller structures */
cx_chan_t chan[NCHAN]; /* channel structures */
+ cx_stat_t stat[NCHAN]; /* channel statistics */
char name[16]; /* board version name */
unsigned char nuniv; /* number of universal channels */
unsigned char nsync; /* number of sync. channels */
@@ -473,3 +492,4 @@ void cx_clock (long hz, long ba, int *clk, int *div);
#define CXIOCGETMODE _IOWR('x', 1, cx_options_t) /* get channel options */
#define CXIOCSETMODE _IOW('x', 2, cx_options_t) /* set channel options */
+#define CXIOCGETSTAT _IOWR('x', 3, cx_stat_t) /* get channel stats */
OpenPOWER on IntegriCloud