/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/*
* Copyright 2014 Garrett D'Amore <garrett@damore.org>
*
*/
#ifndef _SYS_TERMIOS_H
#define _SYS_TERMIOS_H
#include <sys/feature_tests.h>
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#ifdef __cplusplus
extern "C" {
#endif
/*
* introduction of the header. The POSIX standard, IEEE Std.
* 1003.1-1988 also required the existence of _POSIX_VDISABLE in
* this header. Subsequent versions of the IEEE Standard as well
* defined in <unistd.h> while still allowing for it's existence
* here. With the introduction of XPG6, _POSIX_VDISABLE can only
* be defined in <unistd.h>.
*/
#if !defined(_XPG6) || defined(__EXTENSIONS__)
#ifndef _POSIX_VDISABLE
#endif
#endif /* !defined(_XPG6) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* some defines required by POSIX */
/*
* types defined by POSIX. These are better off in types.h, but
* the standard says that they have to be in termios.h.
*/
typedef unsigned int tcflag_t;
typedef unsigned char cc_t;
typedef unsigned int speed_t;
/*
* Ioctl control packet
*/
struct termios {
};
/*
* POSIX termios functions
* These functions get mapped into ioctls.
*/
#ifndef _KERNEL
extern int tcsendbreak(int, int);
extern int tcdrain(int);
extern int tcflush(int, int);
extern int tcflow(int, int);
#endif /* !defined(__XOPEN_OR_POSIX) || defined(_XPG4_2) ... */
#endif
/* control characters */
#define VINTR 0
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/* 17 through 19 reserved for future use */
/*
* control characters form Xenix termio.h
*/
#define CNUL 0
/* S5 default control chars */
/* CINTR, CERASE and CKILL modified to SunOS traditional values */
#define CEOL 0
#define CEOL2 0
#define CNSWTCH 0
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* input modes */
#if !defined(_POSIX_C_SOURCE) || \
(defined(_XOPEN_SOURCE) && !defined(_XPG6)) || \
defined(__EXTENSIONS__)
#endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */
#if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
defined(__EXTENSIONS__)
#endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* output modes */
#if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
defined(__EXTENSIONS__)
#if !defined(_XPG6) || defined(__EXTENSIONS__)
#endif
#define NL0 0
#define CR0 0
#define TAB0 0
#endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \
defined(__EXTENSIONS__)
#define BS0 0
#define VT0 0
#define FF0 0
#endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/* control modes */
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#define CS5 0
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/*
* 4.4BSD hardware flow control flags
*/
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* line discipline 0 modes */
#if !defined(_POSIX_C_SOURCE) || \
(defined(_XOPEN_SOURCE) && !defined(_XPG6)) || \
defined(__EXTENSIONS__)
#endif /* !defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE)... */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/* Slots reserved for 386/XENIX compatibility - keyboard control */
#ifndef IOCTYPE
#endif
/*
* Softcarrier ioctls
*/
/* termios ioctls */
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/*
* NTP PPS ioctls
*/
/* Argument filled in by TIOCGPPSEV */
struct ppsclockev {
};
#if defined(_SYSCALL32)
struct ppsclockev32 {
};
#endif /* _SYSCALL32 */
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* termios option flags */
/* TIOC ioctls for BSD, ptys, job control and modem control */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/* Slots for 386/XENIX compatibility */
/* BSD includes these ioctls in ttold.h */
#ifndef _SYS_TTOLD_H
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/*
* BSD ioctls that are not the same as XENIX are included here.
* BSD pty ioctls like TIOCPKT are not supported in SVR4.
*/
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#endif /* end _SYS_TTOLD_H */
/* POSIX job control ioctls */
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/* Miscellaneous */
/* Modem control */
/* pseudo-tty */
/* Some more 386 xenix stuff */
/* Slots for 386 compatibility */
/*
* These are retained for 386/XENIX compatibility.
*/
/*
* Returns a non-zero value if there
* are characters in the input queue.
*
* XXX - somebody is confused here. V7 had no such "ioctl", although XENIX may
* have added it; 4BSD had FIONREAD, which returned the number of characters
* waiting, and was supposed to work on all descriptors (i.e., every driver
* should make a stab at implementing it).
*/
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
/*
* Speeds
*/
#define B0 0
#ifndef _SYS_TTOLD_H
#if !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__)
/* Windowing structure to support JWINSIZE/TIOCSWINSZ/TIOCGWINSZ */
struct winsize {
};
#endif /* !defined(__XOPEN_OR_POSIX) || defined(__EXTENSIONS__) */
#endif /* end _SYS_TTOLD_H */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_TERMIOS_H */