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. */
19struct 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#define SCLP_IOCTL_LETTER 'B'
31
32/* set width of horizontal tabulator */
33#define TIOCSCLPSHTAB	_IOW(SCLP_IOCTL_LETTER, 0, unsigned short)
34/* enable/disable echo of input (independent from line discipline) */
35#define TIOCSCLPSECHO	_IOW(SCLP_IOCTL_LETTER, 1, unsigned char)
36/* set number of colums for output */
37#define TIOCSCLPSCOLS	_IOW(SCLP_IOCTL_LETTER, 2, unsigned short)
38/* enable/disable writing without final new line character */
39#define TIOCSCLPSNL	_IOW(SCLP_IOCTL_LETTER, 4, signed char)
40/* set the maximum buffers size for output, rounded up to next 4kB boundary */
41#define TIOCSCLPSOBUF	_IOW(SCLP_IOCTL_LETTER, 5, unsigned short)
42/* set initial (default) sclp ioctls */
43#define TIOCSCLPSINIT	_IO(SCLP_IOCTL_LETTER, 6)
44/* enable/disable conversion from upper to lower case of input */
45#define TIOCSCLPSCASE	_IOW(SCLP_IOCTL_LETTER, 7, unsigned char)
46/* set special character used for separating upper and lower case, */
47/* 0x00 disables this feature */
48#define TIOCSCLPSDELIM	_IOW(SCLP_IOCTL_LETTER, 9, unsigned char)
49
50/* get width of horizontal tabulator */
51#define TIOCSCLPGHTAB	_IOR(SCLP_IOCTL_LETTER, 10, unsigned short)
52/* Is echo of input enabled ? (independent from line discipline) */
53#define TIOCSCLPGECHO	_IOR(SCLP_IOCTL_LETTER, 11, unsigned char)
54/* get number of colums for output */
55#define TIOCSCLPGCOLS	_IOR(SCLP_IOCTL_LETTER, 12, unsigned short)
56/* Is writing without final new line character enabled ? */
57#define TIOCSCLPGNL	_IOR(SCLP_IOCTL_LETTER, 14, signed char)
58/* get the maximum buffers size for output */
59#define TIOCSCLPGOBUF	_IOR(SCLP_IOCTL_LETTER, 15, unsigned short)
60/* Is conversion from upper to lower case of input enabled ? */
61#define TIOCSCLPGCASE	_IOR(SCLP_IOCTL_LETTER, 17, unsigned char)
62/* get special character used for separating upper and lower case, */
63/* 0x00 disables this feature */
64#define TIOCSCLPGDELIM	_IOR(SCLP_IOCTL_LETTER, 19, unsigned char)
65/* get the number of buffers/pages got from kernel at startup */
66#define TIOCSCLPGKBUF	_IOR(SCLP_IOCTL_LETTER, 20, unsigned short)
67
68extern struct tty_driver *sclp_tty_driver;
69
70#endif	/* __SCLP_TTY_H__ */
71