1.1 --- a/epoc32/include/stdapis/sys/ioctl.h Tue Nov 24 13:55:44 2009 +0000
1.2 +++ b/epoc32/include/stdapis/sys/ioctl.h Tue Mar 16 16:12:26 2010 +0000
1.3 @@ -1,1 +1,120 @@
1.4 -ioctl.h
1.5 +/*-
1.6 + * Copyright (c) 1982, 1986, 1990, 1993, 1994
1.7 + * The Regents of the University of California. All rights reserved.
1.8 + * (c) UNIX System Laboratories, Inc.
1.9 + * All or some portions of this file are derived from material licensed
1.10 + * to the University of California by American Telephone and Telegraph
1.11 + * Co. or Unix System Laboratories, Inc. and are reproduced herein with
1.12 + * the permission of UNIX System Laboratories, Inc.
1.13 + *
1.14 + * Redistribution and use in source and binary forms, with or without
1.15 + * modification, are permitted provided that the following conditions
1.16 + * are met:
1.17 + * 1. Redistributions of source code must retain the above copyright
1.18 + * notice, this list of conditions and the following disclaimer.
1.19 + * 2. Redistributions in binary form must reproduce the above copyright
1.20 + * notice, this list of conditions and the following disclaimer in the
1.21 + * documentation and/or other materials provided with the distribution.
1.22 + * 4. Neither the name of the University nor the names of its contributors
1.23 + * may be used to endorse or promote products derived from this software
1.24 + * without specific prior written permission.
1.25 + *
1.26 + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
1.27 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1.28 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1.29 + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
1.30 + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
1.31 + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
1.32 + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
1.33 + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
1.34 + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
1.35 + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
1.36 + * SUCH DAMAGE.
1.37 + *
1.38 + * @(#)ioctl.h 8.6 (Berkeley) 3/28/94
1.39 + * $FreeBSD: src/sys/sys/ioctl.h,v 1.14 2005/03/02 21:33:29 joerg Exp $
1.40 + */
1.41 +
1.42 +#ifndef _SYS_IOCTL_H_
1.43 +#define _SYS_IOCTL_H_
1.44 +
1.45 +#ifdef _KERNEL
1.46 +#ifndef _SYS_CDEFS_H_
1.47 +#error this file needs sys/cdefs.h as a prerequisite
1.48 +#endif
1.49 +#ifdef __CC_SUPPORTS_WARNING
1.50 +#warning "Don't #include ioctl.h in the kernel. Include xxxio.h instead."
1.51 +#endif
1.52 +#endif /* _KERNEL */
1.53 +
1.54 +#include <sys/ttycom.h>
1.55 +
1.56 +/*
1.57 + * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ
1.58 + * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented
1.59 + * notwithstanding).
1.60 + */
1.61 +struct ttysize {
1.62 + unsigned short ts_lines;
1.63 + unsigned short ts_cols;
1.64 + unsigned short ts_xxx;
1.65 + unsigned short ts_yyy;
1.66 +};
1.67 +#define TIOCGSIZE TIOCGWINSZ
1.68 +#define TIOCSSIZE TIOCSWINSZ
1.69 +
1.70 +#include <sys/ioccom.h>
1.71 +
1.72 +#include <sys/filio.h>
1.73 +#include <sys/sockio.h>
1.74 +
1.75 +#ifdef __SYMBIAN32__
1.76 +
1.77 +/**
1.78 +number of bytes available to be read - cf BSD FIONREAD
1.79 +*/
1.80 +#define E32IONREAD _IOR('f', 1,int)
1.81 +
1.82 +/**
1.83 +ioctl-based form of select with infinite timeout - specify a mask of selectable
1.84 +states and receive back the mask of triggering states
1.85 +*/
1.86 +#define E32IOSELECT _IOWR('f',2,int)
1.87 +# define E32SELECT_READ 0x01
1.88 +# define E32SELECT_WRITE 0x02
1.89 +# define E32SELECT_EXCEPT 0x04
1.90 +
1.91 +/**
1.92 +ioctls for serial port values may change
1.93 +*/
1.94 +#define COMMIOCTL_SETSIGNALS 1
1.95 +#define COMMIOCTL_GETSIGNALS 2
1.96 +#define COMMIOCTL_SETCONFIG 3
1.97 +#define COMMIOCTL_GETCONFIG 4
1.98 +#define COMMIOCTL_BREAK 5
1.99 +#define COMMIOCTL_SETREADTIMEOUT 6
1.100 +#define COMMIOCTL_GETREADTIMEOUT 7
1.101 +#define COMMIOCTL_SETREADTHRESHOLD 8
1.102 +#define COMMIOCTL_GETREADTHRESHOLD 9
1.103 +#define COMMIOCTL_SETBUFFERLENGTH 10
1.104 +#define COMMIOCTL_GETBUFFERLENGTH 11
1.105 +#define COMMIOCTL_NOTIFYSUPPORTED 12
1.106 +#define COMMIOCTL_NOTIFY 0x400d
1.107 +
1.108 +#define REAL_COMMIOCTL_NOTIFY 13 // = COMMIOCTL_NOTIFY-0x4000
1.109 +
1.110 +#endif //__SYMBIAN32__
1.111 +
1.112 +
1.113 +#endif /* !_SYS_IOCTL_H_ */
1.114 +
1.115 +/*
1.116 + * Keep outside _SYS_IOCTL_H_
1.117 + * Compatibility with old terminal driver
1.118 + *
1.119 + * Source level -> #define USE_OLD_TTY
1.120 + * Kernel level -> options COMPAT_43
1.121 + */
1.122 +#if defined(USE_OLD_TTY) || defined(COMPAT_43)
1.123 +#include <sys/ioctl_compat.h>
1.124 +#endif