Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * drivers/s390/char/sclp_tty.h |
| 3 | * interface to the SCLP-read/write driver |
| 4 | * |
| 5 | * S390 version |
| 6 | * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation |
| 7 | * Author(s): Martin Peschke <mpeschke@de.ibm.com> |
| 8 | * Martin Schwidefsky <schwidefsky@de.ibm.com> |
| 9 | */ |
| 10 | |
| 11 | #ifndef __SCLP_TTY_H__ |
| 12 | #define __SCLP_TTY_H__ |
| 13 | |
| 14 | #include <linux/ioctl.h> |
| 15 | #include <linux/termios.h> |
| 16 | #include <linux/tty_driver.h> |
| 17 | |
| 18 | /* This is the type of data structures storing sclp ioctl setting. */ |
| 19 | struct sclp_ioctls { |
| 20 | unsigned short htab; |
| 21 | unsigned char echo; |
| 22 | unsigned short columns; |
| 23 | unsigned char final_nl; |
| 24 | unsigned short max_sccb; |
| 25 | unsigned short kmem_sccb; /* can't be modified at run time */ |
| 26 | unsigned char tolower; |
| 27 | unsigned char delim; |
| 28 | }; |
| 29 | |
| 30 | /* must be unique, FIXME: must be added in Documentation/ioctl_number.txt */ |
| 31 | #define SCLP_IOCTL_LETTER 'B' |
| 32 | |
| 33 | /* set width of horizontal tabulator */ |
| 34 | #define TIOCSCLPSHTAB _IOW(SCLP_IOCTL_LETTER, 0, unsigned short) |
| 35 | /* enable/disable echo of input (independent from line discipline) */ |
| 36 | #define TIOCSCLPSECHO _IOW(SCLP_IOCTL_LETTER, 1, unsigned char) |
| 37 | /* set number of colums for output */ |
| 38 | #define TIOCSCLPSCOLS _IOW(SCLP_IOCTL_LETTER, 2, unsigned short) |
| 39 | /* enable/disable writing without final new line character */ |
| 40 | #define TIOCSCLPSNL _IOW(SCLP_IOCTL_LETTER, 4, signed char) |
| 41 | /* set the maximum buffers size for output, rounded up to next 4kB boundary */ |
| 42 | #define TIOCSCLPSOBUF _IOW(SCLP_IOCTL_LETTER, 5, unsigned short) |
| 43 | /* set initial (default) sclp ioctls */ |
| 44 | #define TIOCSCLPSINIT _IO(SCLP_IOCTL_LETTER, 6) |
| 45 | /* enable/disable conversion from upper to lower case of input */ |
| 46 | #define TIOCSCLPSCASE _IOW(SCLP_IOCTL_LETTER, 7, unsigned char) |
| 47 | /* set special character used for separating upper and lower case, */ |
| 48 | /* 0x00 disables this feature */ |
| 49 | #define TIOCSCLPSDELIM _IOW(SCLP_IOCTL_LETTER, 9, unsigned char) |
| 50 | |
| 51 | /* get width of horizontal tabulator */ |
| 52 | #define TIOCSCLPGHTAB _IOR(SCLP_IOCTL_LETTER, 10, unsigned short) |
| 53 | /* Is echo of input enabled ? (independent from line discipline) */ |
| 54 | #define TIOCSCLPGECHO _IOR(SCLP_IOCTL_LETTER, 11, unsigned char) |
| 55 | /* get number of colums for output */ |
| 56 | #define TIOCSCLPGCOLS _IOR(SCLP_IOCTL_LETTER, 12, unsigned short) |
| 57 | /* Is writing without final new line character enabled ? */ |
| 58 | #define TIOCSCLPGNL _IOR(SCLP_IOCTL_LETTER, 14, signed char) |
| 59 | /* get the maximum buffers size for output */ |
| 60 | #define TIOCSCLPGOBUF _IOR(SCLP_IOCTL_LETTER, 15, unsigned short) |
| 61 | /* Is conversion from upper to lower case of input enabled ? */ |
| 62 | #define TIOCSCLPGCASE _IOR(SCLP_IOCTL_LETTER, 17, unsigned char) |
| 63 | /* get special character used for separating upper and lower case, */ |
| 64 | /* 0x00 disables this feature */ |
| 65 | #define TIOCSCLPGDELIM _IOR(SCLP_IOCTL_LETTER, 19, unsigned char) |
| 66 | /* get the number of buffers/pages got from kernel at startup */ |
| 67 | #define TIOCSCLPGKBUF _IOR(SCLP_IOCTL_LETTER, 20, unsigned short) |
| 68 | |
| 69 | extern struct tty_driver *sclp_tty_driver; |
| 70 | |
| 71 | #endif /* __SCLP_TTY_H__ */ |