ioctl.h

Go to the documentation of this file.
00001 /*-
00002  * Copyright (c) 1982, 1986, 1990, 1993, 1994
00003  *      The Regents of the University of California.  All rights reserved.
00004  * (c) UNIX System Laboratories, Inc.
00005  * All or some portions of this file are derived from material licensed
00006  * to the University of California by American Telephone and Telegraph
00007  * Co. or Unix System Laboratories, Inc. and are reproduced herein with
00008  * the permission of UNIX System Laboratories, Inc.
00009  *
00010  * Redistribution and use in source and binary forms, with or without
00011  * modification, are permitted provided that the following conditions
00012  * are met:
00013  * 1. Redistributions of source code must retain the above copyright
00014  *    notice, this list of conditions and the following disclaimer.
00015  * 2. Redistributions in binary form must reproduce the above copyright
00016  *    notice, this list of conditions and the following disclaimer in the
00017  *    documentation and/or other materials provided with the distribution.
00018  * 4. Neither the name of the University nor the names of its contributors
00019  *    may be used to endorse or promote products derived from this software
00020  *    without specific prior written permission.
00021  *
00022  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
00023  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
00024  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
00025  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
00026  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
00027  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
00028  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
00029  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
00030  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
00031  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
00032  * SUCH DAMAGE.
00033  *
00034  *      @(#)ioctl.h     8.6 (Berkeley) 3/28/94
00035  * $FreeBSD: src/sys/sys/ioctl.h,v 1.14 2005/03/02 21:33:29 joerg Exp $
00036  */
00037 
00038 #ifndef _SYS_IOCTL_H_
00039 #define _SYS_IOCTL_H_
00040 
00041 #if (defined(__SYMBIAN32__) && !defined(SYMBIAN))
00042 #define SYMBIAN
00043 #endif
00044 
00045 #ifdef _KERNEL
00046 #ifndef _SYS_CDEFS_H_
00047 #error this file needs sys/cdefs.h as a prerequisite
00048 #endif
00049 #ifdef __CC_SUPPORTS_WARNING
00050 #warning "Don't #include ioctl.h in the kernel.  Include xxxio.h instead."
00051 #endif
00052 #endif /* _KERNEL */
00053 
00054 #include <sys/ttycom.h>
00055 
00056 /*
00057  * Pun for SunOS prior to 3.2.  SunOS 3.2 and later support TIOCGWINSZ
00058  * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented
00059  * notwithstanding).
00060  */
00061 struct ttysize {
00062         unsigned short  ts_lines;
00063         unsigned short  ts_cols;
00064         unsigned short  ts_xxx;
00065         unsigned short  ts_yyy;
00066 };
00067 #define TIOCGSIZE       TIOCGWINSZ
00068 #define TIOCSSIZE       TIOCSWINSZ
00069 
00070 #include <sys/ioccom.h>
00071 
00072 #include <sys/filio.h>
00073 #include <sys/sockio.h>
00074 
00075 #ifdef __SYMBIAN32__
00076 
00080 #define E32IONREAD      _IOR('f', 1,int)        
00081 
00086 #define E32IOSELECT     _IOWR('f',2,int)        
00087 #   define E32SELECT_READ       0x01
00088 #   define E32SELECT_WRITE      0x02
00089 #   define E32SELECT_EXCEPT     0x04
00090 
00094 #define COMMIOCTL_SETSIGNALS            1
00095 #define COMMIOCTL_GETSIGNALS            2
00096 #define COMMIOCTL_SETCONFIG                     3
00097 #define COMMIOCTL_GETCONFIG                     4
00098 #define COMMIOCTL_BREAK                         5
00099 #define COMMIOCTL_SETREADTIMEOUT        6
00100 #define COMMIOCTL_GETREADTIMEOUT        7
00101 #define COMMIOCTL_SETREADTHRESHOLD      8
00102 #define COMMIOCTL_GETREADTHRESHOLD      9
00103 #define COMMIOCTL_SETBUFFERLENGTH       10
00104 #define COMMIOCTL_GETBUFFERLENGTH       11
00105 #define COMMIOCTL_NOTIFYSUPPORTED       12
00106 #define COMMIOCTL_NOTIFY                        0x400d
00107 
00108 #define REAL_COMMIOCTL_NOTIFY           13              // = COMMIOCTL_NOTIFY-0x4000
00109 
00110 //__SYMBIAN32__
00111 #endif
00112 
00113 
00114 #endif /* !_SYS_IOCTL_H_ */
00115 
00116 /*
00117  * Keep outside _SYS_IOCTL_H_
00118  * Compatibility with old terminal driver
00119  *
00120  * Source level -> #define USE_OLD_TTY
00121  * Kernel level -> options COMPAT_43
00122  */
00123 #if defined(USE_OLD_TTY) || defined(COMPAT_43)
00124 #include <sys/ioctl_compat.h>
00125 #endif

Copyright © Nokia Corporation 2001-2008
Back to top