xref: /openbmc/linux/drivers/s390/char/sclp_tty.h (revision 64c70b1c)
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__ */
72