Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / s390 / char / sclp_tty.h
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__ */