xref: /openbmc/linux/drivers/s390/char/sclp_tty.h (revision 1da177e4)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  *  drivers/s390/char/sclp_tty.h
31da177e4SLinus Torvalds  *    interface to the SCLP-read/write driver
41da177e4SLinus Torvalds  *
51da177e4SLinus Torvalds  *  S390 version
61da177e4SLinus Torvalds  *    Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
71da177e4SLinus Torvalds  *    Author(s): Martin Peschke <mpeschke@de.ibm.com>
81da177e4SLinus Torvalds  *		 Martin Schwidefsky <schwidefsky@de.ibm.com>
91da177e4SLinus Torvalds  */
101da177e4SLinus Torvalds 
111da177e4SLinus Torvalds #ifndef __SCLP_TTY_H__
121da177e4SLinus Torvalds #define __SCLP_TTY_H__
131da177e4SLinus Torvalds 
141da177e4SLinus Torvalds #include <linux/ioctl.h>
151da177e4SLinus Torvalds #include <linux/termios.h>
161da177e4SLinus Torvalds #include <linux/tty_driver.h>
171da177e4SLinus Torvalds 
181da177e4SLinus Torvalds /* This is the type of data structures storing sclp ioctl setting. */
191da177e4SLinus Torvalds struct sclp_ioctls {
201da177e4SLinus Torvalds 	unsigned short htab;
211da177e4SLinus Torvalds 	unsigned char echo;
221da177e4SLinus Torvalds 	unsigned short columns;
231da177e4SLinus Torvalds 	unsigned char final_nl;
241da177e4SLinus Torvalds 	unsigned short max_sccb;
251da177e4SLinus Torvalds 	unsigned short kmem_sccb;	/* can't be modified at run time */
261da177e4SLinus Torvalds 	unsigned char tolower;
271da177e4SLinus Torvalds 	unsigned char delim;
281da177e4SLinus Torvalds };
291da177e4SLinus Torvalds 
301da177e4SLinus Torvalds /* must be unique, FIXME: must be added in Documentation/ioctl_number.txt */
311da177e4SLinus Torvalds #define SCLP_IOCTL_LETTER 'B'
321da177e4SLinus Torvalds 
331da177e4SLinus Torvalds /* set width of horizontal tabulator */
341da177e4SLinus Torvalds #define TIOCSCLPSHTAB	_IOW(SCLP_IOCTL_LETTER, 0, unsigned short)
351da177e4SLinus Torvalds /* enable/disable echo of input (independent from line discipline) */
361da177e4SLinus Torvalds #define TIOCSCLPSECHO	_IOW(SCLP_IOCTL_LETTER, 1, unsigned char)
371da177e4SLinus Torvalds /* set number of colums for output */
381da177e4SLinus Torvalds #define TIOCSCLPSCOLS	_IOW(SCLP_IOCTL_LETTER, 2, unsigned short)
391da177e4SLinus Torvalds /* enable/disable writing without final new line character */
401da177e4SLinus Torvalds #define TIOCSCLPSNL	_IOW(SCLP_IOCTL_LETTER, 4, signed char)
411da177e4SLinus Torvalds /* set the maximum buffers size for output, rounded up to next 4kB boundary */
421da177e4SLinus Torvalds #define TIOCSCLPSOBUF	_IOW(SCLP_IOCTL_LETTER, 5, unsigned short)
431da177e4SLinus Torvalds /* set initial (default) sclp ioctls */
441da177e4SLinus Torvalds #define TIOCSCLPSINIT	_IO(SCLP_IOCTL_LETTER, 6)
451da177e4SLinus Torvalds /* enable/disable conversion from upper to lower case of input */
461da177e4SLinus Torvalds #define TIOCSCLPSCASE	_IOW(SCLP_IOCTL_LETTER, 7, unsigned char)
471da177e4SLinus Torvalds /* set special character used for separating upper and lower case, */
481da177e4SLinus Torvalds /* 0x00 disables this feature */
491da177e4SLinus Torvalds #define TIOCSCLPSDELIM	_IOW(SCLP_IOCTL_LETTER, 9, unsigned char)
501da177e4SLinus Torvalds 
511da177e4SLinus Torvalds /* get width of horizontal tabulator */
521da177e4SLinus Torvalds #define TIOCSCLPGHTAB	_IOR(SCLP_IOCTL_LETTER, 10, unsigned short)
531da177e4SLinus Torvalds /* Is echo of input enabled ? (independent from line discipline) */
541da177e4SLinus Torvalds #define TIOCSCLPGECHO	_IOR(SCLP_IOCTL_LETTER, 11, unsigned char)
551da177e4SLinus Torvalds /* get number of colums for output */
561da177e4SLinus Torvalds #define TIOCSCLPGCOLS	_IOR(SCLP_IOCTL_LETTER, 12, unsigned short)
571da177e4SLinus Torvalds /* Is writing without final new line character enabled ? */
581da177e4SLinus Torvalds #define TIOCSCLPGNL	_IOR(SCLP_IOCTL_LETTER, 14, signed char)
591da177e4SLinus Torvalds /* get the maximum buffers size for output */
601da177e4SLinus Torvalds #define TIOCSCLPGOBUF	_IOR(SCLP_IOCTL_LETTER, 15, unsigned short)
611da177e4SLinus Torvalds /* Is conversion from upper to lower case of input enabled ? */
621da177e4SLinus Torvalds #define TIOCSCLPGCASE	_IOR(SCLP_IOCTL_LETTER, 17, unsigned char)
631da177e4SLinus Torvalds /* get special character used for separating upper and lower case, */
641da177e4SLinus Torvalds /* 0x00 disables this feature */
651da177e4SLinus Torvalds #define TIOCSCLPGDELIM	_IOR(SCLP_IOCTL_LETTER, 19, unsigned char)
661da177e4SLinus Torvalds /* get the number of buffers/pages got from kernel at startup */
671da177e4SLinus Torvalds #define TIOCSCLPGKBUF	_IOR(SCLP_IOCTL_LETTER, 20, unsigned short)
681da177e4SLinus Torvalds 
691da177e4SLinus Torvalds extern struct tty_driver *sclp_tty_driver;
701da177e4SLinus Torvalds 
711da177e4SLinus Torvalds #endif	/* __SCLP_TTY_H__ */
72