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