epoc32/include/stdapis/sys/ioctl.h
branchSymbian2
changeset 2 2fe1408b6811
parent 0 061f57f2323e
--- 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 <sys/ttycom.h>
+
+/*
+ * 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 <sys/ioccom.h>
+
+#include <sys/filio.h>
+#include <sys/sockio.h>
+
+#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 <sys/ioctl_compat.h>
+#endif