Merge branch 'origin'
[linux-2.6] / 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__ */