00001 #ifndef _structh
00002 #define _structh
00003
00004 #ifndef _DEVDRVR_H_INCLUDED
00005 #include <sys/_devdrvr.h>
00006 #endif
00007
00008 #define MAX_ASYNCS 64
00009 #define MAX_IRQS 16
00010
00011 struct dev_entry {
00012 struct dev_entry *link;
00013 unsigned tty;
00014 unsigned iobase;
00015 unsigned char irq;
00016 unsigned char busy;
00017 unsigned char modem_status;
00018 unsigned char tx_pending;
00019 unsigned char parity;
00020 unsigned char stop_bits;
00021 unsigned char data_bits;
00022 unsigned char modem_control;
00023 unsigned char state;
00024 unsigned char threshold;
00025 unsigned mode;
00026 unsigned slots;
00027 unsigned slot;
00028 long baud;
00029 struct output_buffer __far *obuf;
00030 unsigned long rx_count;
00031 unsigned long tx_count;
00032 } ;
00033
00034 #define MODE_SPLIT 0x01
00035 #define MODE_RTS 0x02
00036 #define MODE_DTR 0x04
00037 #define MODE_NOHUP 0x08
00038 #define MODE_LOCKHFLOW 0x10
00039 #define MODE_RESET_OWNER 0x20
00040 #define MODE_RESET_PERMISSIONS 0x40
00041 #define MODE_RESET_ATTRIBUTES 0x80
00042 #define MODE_RESET_FLUSHES 0x100
00043 #define MODE_PKT 0x200
00044 #define MODE_PWR 0x400
00045 #define MODE_AVAILABLE 0x800
00046 #define MODE_IRQ_LINKED 0x1000
00047
00048 struct dev_mode {
00049 unsigned low;
00050 unsigned high;
00051 unsigned char raw;
00052 unsigned char hflow;
00053 unsigned char sflow;
00054 unsigned mode;
00055 } ;
00056
00057
00058
00059
00060 int sys_msg(void *buf);
00061 pid_t tto(struct dev_entry *, struct output_buffer far *);
00062 pid_t async_int(int);
00063 pid_t far async_irq0();
00064 pid_t far async_irq1();
00065 pid_t far async_irq2();
00066 pid_t far async_irq3();
00067 pid_t far async_irq4();
00068 pid_t far async_irq5();
00069 pid_t far async_irq6();
00070 pid_t far async_irq7();
00071 pid_t far async_irq8();
00072 pid_t far async_irq9();
00073 pid_t far async_irq10();
00074 pid_t far async_irq11();
00075 pid_t far async_irq12();
00076 pid_t far async_irq13();
00077 pid_t far async_irq14();
00078 pid_t far async_irq15();
00079 int reset_async(int, int);
00080 void init(int, unsigned, unsigned, long, int);
00081 int find_asyncs();
00082 new_async(int, unsigned, unsigned, unsigned);
00083 shutdown_async(int);
00084 void init_tables();
00085 void disable_irq(int);
00086
00087 #endif