/* * linedisc.h -- includes for use with loadable line disciplines */ #define KERNEL 1 #define KERNEL_FEATURES 1 #ifdef m68k #import #endif #import /* #import */ #import #import #import #import /* #import #import */ #import #import #import #import #import /* #import */ #ifdef m68k #include "spl.h" #endif #if NeXT /* #import #import */ #endif NeXT /* * Line discipline "kind" * NORMAL_LDISC -- Normal line disciplines use tty struct clists in * standard manner * SPECIAL_LDISC -- Special line disciplines have private buffering * strategy */ #define NORMAL_LDISC 0 #define SPECIAL_LDISC 1 extern int tty_ld_install( int ld_number, int ld_kind, int (*ld_open)(dev_t dev, struct tty *tp), void (*ld_close)(struct tty *tp), int (*ld_read)(struct tty *tp, struct uio *uiop), int (*ld_write)(struct tty *tp, struct uio *uiop), int (*ld_ioctl)(struct tty *tp, int command, void *dataptr, int flag), void (*ld_rint)(int c, struct tty *tp), void (*ld_rend)(char *cp, u_int n, struct tty *tp), void (*ld_start)(struct tty *tp), int (*ld_modem)(struct tty *tp, int dcd_on), int (*ld_select)(struct tty *tp, int rw) ); extern int tty_ld_remove(int ld_number); extern void ttydevstart(struct tty *tp); extern void ttydevstop(struct tty *tp); extern void ttyselwait(struct tty *tp, int rw); extern void ttselwakeup(struct tty *tp);