williamr@2: /*- williamr@2: * Copyright (c) 1982, 1986, 1990, 1993, 1994 williamr@2: * The Regents of the University of California. All rights reserved. williamr@2: * (c) UNIX System Laboratories, Inc. williamr@2: * All or some portions of this file are derived from material licensed williamr@2: * to the University of California by American Telephone and Telegraph williamr@2: * Co. or Unix System Laboratories, Inc. and are reproduced herein with williamr@2: * the permission of UNIX System Laboratories, Inc. williamr@2: * williamr@2: * Redistribution and use in source and binary forms, with or without williamr@2: * modification, are permitted provided that the following conditions williamr@2: * are met: williamr@2: * 1. Redistributions of source code must retain the above copyright williamr@2: * notice, this list of conditions and the following disclaimer. williamr@2: * 2. Redistributions in binary form must reproduce the above copyright williamr@2: * notice, this list of conditions and the following disclaimer in the williamr@2: * documentation and/or other materials provided with the distribution. williamr@2: * 4. Neither the name of the University nor the names of its contributors williamr@2: * may be used to endorse or promote products derived from this software williamr@2: * without specific prior written permission. williamr@2: * williamr@2: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND williamr@2: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE williamr@2: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE williamr@2: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE williamr@2: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL williamr@2: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS williamr@2: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) williamr@2: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT williamr@2: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY williamr@2: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF williamr@2: * SUCH DAMAGE. williamr@2: * williamr@2: * @(#)ioctl.h 8.6 (Berkeley) 3/28/94 williamr@2: * $FreeBSD: src/sys/sys/ioctl.h,v 1.14 2005/03/02 21:33:29 joerg Exp $ williamr@2: */ williamr@2: williamr@2: #ifndef _SYS_IOCTL_H_ williamr@2: #define _SYS_IOCTL_H_ williamr@2: williamr@2: #ifdef _KERNEL williamr@2: #ifndef _SYS_CDEFS_H_ williamr@2: #error this file needs sys/cdefs.h as a prerequisite williamr@2: #endif williamr@2: #ifdef __CC_SUPPORTS_WARNING williamr@2: #warning "Don't #include ioctl.h in the kernel. Include xxxio.h instead." williamr@2: #endif williamr@2: #endif /* _KERNEL */ williamr@2: williamr@2: #include williamr@2: williamr@2: /* williamr@2: * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ williamr@2: * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented williamr@2: * notwithstanding). williamr@2: */ williamr@2: struct ttysize { williamr@2: unsigned short ts_lines; williamr@2: unsigned short ts_cols; williamr@2: unsigned short ts_xxx; williamr@2: unsigned short ts_yyy; williamr@2: }; williamr@2: #define TIOCGSIZE TIOCGWINSZ williamr@2: #define TIOCSSIZE TIOCSWINSZ williamr@2: williamr@2: #include williamr@2: williamr@2: #include williamr@2: #include williamr@2: williamr@2: #ifdef __SYMBIAN32__ williamr@2: williamr@2: /** williamr@2: number of bytes available to be read - cf BSD FIONREAD williamr@2: */ williamr@2: #define E32IONREAD _IOR('f', 1,int) williamr@2: williamr@2: /** williamr@2: ioctl-based form of select with infinite timeout - specify a mask of selectable williamr@2: states and receive back the mask of triggering states williamr@2: */ williamr@2: #define E32IOSELECT _IOWR('f',2,int) williamr@2: # define E32SELECT_READ 0x01 williamr@2: # define E32SELECT_WRITE 0x02 williamr@2: # define E32SELECT_EXCEPT 0x04 williamr@2: williamr@2: /** williamr@2: ioctls for serial port values may change williamr@2: */ williamr@2: #define COMMIOCTL_SETSIGNALS 1 williamr@2: #define COMMIOCTL_GETSIGNALS 2 williamr@2: #define COMMIOCTL_SETCONFIG 3 williamr@2: #define COMMIOCTL_GETCONFIG 4 williamr@2: #define COMMIOCTL_BREAK 5 williamr@2: #define COMMIOCTL_SETREADTIMEOUT 6 williamr@2: #define COMMIOCTL_GETREADTIMEOUT 7 williamr@2: #define COMMIOCTL_SETREADTHRESHOLD 8 williamr@2: #define COMMIOCTL_GETREADTHRESHOLD 9 williamr@2: #define COMMIOCTL_SETBUFFERLENGTH 10 williamr@2: #define COMMIOCTL_GETBUFFERLENGTH 11 williamr@2: #define COMMIOCTL_NOTIFYSUPPORTED 12 williamr@2: #define COMMIOCTL_NOTIFY 0x400d williamr@2: williamr@2: #define REAL_COMMIOCTL_NOTIFY 13 // = COMMIOCTL_NOTIFY-0x4000 williamr@2: williamr@2: #endif //__SYMBIAN32__ williamr@2: williamr@2: williamr@2: #endif /* !_SYS_IOCTL_H_ */ williamr@2: williamr@2: /* williamr@2: * Keep outside _SYS_IOCTL_H_ williamr@2: * Compatibility with old terminal driver williamr@2: * williamr@2: * Source level -> #define USE_OLD_TTY williamr@2: * Kernel level -> options COMPAT_43 williamr@2: */ williamr@2: #if defined(USE_OLD_TTY) || defined(COMPAT_43) williamr@2: #include williamr@2: #endif