|
1 /*- |
|
2 * Copyright (c) 1982, 1986, 1990, 1993, 1994 |
|
3 * The Regents of the University of California. All rights reserved. |
|
4 * (c) UNIX System Laboratories, Inc. |
|
5 * All or some portions of this file are derived from material licensed |
|
6 * to the University of California by American Telephone and Telegraph |
|
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with |
|
8 * the permission of UNIX System Laboratories, Inc. |
|
9 * |
|
10 * Redistribution and use in source and binary forms, with or without |
|
11 * modification, are permitted provided that the following conditions |
|
12 * are met: |
|
13 * 1. Redistributions of source code must retain the above copyright |
|
14 * notice, this list of conditions and the following disclaimer. |
|
15 * 2. Redistributions in binary form must reproduce the above copyright |
|
16 * notice, this list of conditions and the following disclaimer in the |
|
17 * documentation and/or other materials provided with the distribution. |
|
18 * 4. Neither the name of the University nor the names of its contributors |
|
19 * may be used to endorse or promote products derived from this software |
|
20 * without specific prior written permission. |
|
21 * |
|
22 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
|
23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
|
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
|
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
|
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
|
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
|
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
|
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
|
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
|
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
|
32 * SUCH DAMAGE. |
|
33 * |
|
34 * @(#)ioctl.h 8.6 (Berkeley) 3/28/94 |
|
35 * $FreeBSD: src/sys/sys/ioctl.h,v 1.14 2005/03/02 21:33:29 joerg Exp $ |
|
36 */ |
|
37 |
|
38 #ifndef _SYS_IOCTL_H_ |
|
39 #define _SYS_IOCTL_H_ |
|
40 |
|
41 #ifdef _KERNEL |
|
42 #ifndef _SYS_CDEFS_H_ |
|
43 #error this file needs sys/cdefs.h as a prerequisite |
|
44 #endif |
|
45 #ifdef __CC_SUPPORTS_WARNING |
|
46 #warning "Don't #include ioctl.h in the kernel. Include xxxio.h instead." |
|
47 #endif |
|
48 #endif /* _KERNEL */ |
|
49 |
|
50 #include <sys/ttycom.h> |
|
51 |
|
52 /* |
|
53 * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ |
|
54 * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented |
|
55 * notwithstanding). |
|
56 */ |
|
57 struct ttysize { |
|
58 unsigned short ts_lines; |
|
59 unsigned short ts_cols; |
|
60 unsigned short ts_xxx; |
|
61 unsigned short ts_yyy; |
|
62 }; |
|
63 #define TIOCGSIZE TIOCGWINSZ |
|
64 #define TIOCSSIZE TIOCSWINSZ |
|
65 |
|
66 #include <sys/ioccom.h> |
|
67 |
|
68 #include <sys/filio.h> |
|
69 #include <sys/sockio.h> |
|
70 |
|
71 #ifdef __SYMBIAN32__ |
|
72 |
|
73 /** |
|
74 number of bytes available to be read - cf BSD FIONREAD |
|
75 */ |
|
76 #define E32IONREAD _IOR('f', 1,int) |
|
77 |
|
78 /** |
|
79 ioctl-based form of select with infinite timeout - specify a mask of selectable |
|
80 states and receive back the mask of triggering states |
|
81 */ |
|
82 #define E32IOSELECT _IOWR('f',2,int) |
|
83 # define E32SELECT_READ 0x01 |
|
84 # define E32SELECT_WRITE 0x02 |
|
85 # define E32SELECT_EXCEPT 0x04 |
|
86 |
|
87 /** |
|
88 ioctls for serial port values may change |
|
89 */ |
|
90 #define COMMIOCTL_SETSIGNALS 1 |
|
91 #define COMMIOCTL_GETSIGNALS 2 |
|
92 #define COMMIOCTL_SETCONFIG 3 |
|
93 #define COMMIOCTL_GETCONFIG 4 |
|
94 #define COMMIOCTL_BREAK 5 |
|
95 #define COMMIOCTL_SETREADTIMEOUT 6 |
|
96 #define COMMIOCTL_GETREADTIMEOUT 7 |
|
97 #define COMMIOCTL_SETREADTHRESHOLD 8 |
|
98 #define COMMIOCTL_GETREADTHRESHOLD 9 |
|
99 #define COMMIOCTL_SETBUFFERLENGTH 10 |
|
100 #define COMMIOCTL_GETBUFFERLENGTH 11 |
|
101 #define COMMIOCTL_NOTIFYSUPPORTED 12 |
|
102 #define COMMIOCTL_NOTIFY 0x400d |
|
103 |
|
104 #define REAL_COMMIOCTL_NOTIFY 13 // = COMMIOCTL_NOTIFY-0x4000 |
|
105 |
|
106 #endif //__SYMBIAN32__ |
|
107 |
|
108 |
|
109 #endif /* !_SYS_IOCTL_H_ */ |
|
110 |
|
111 /* |
|
112 * Keep outside _SYS_IOCTL_H_ |
|
113 * Compatibility with old terminal driver |
|
114 * |
|
115 * Source level -> #define USE_OLD_TTY |
|
116 * Kernel level -> options COMPAT_43 |
|
117 */ |
|
118 #if defined(USE_OLD_TTY) || defined(COMPAT_43) |
|
119 #include <sys/ioctl_compat.h> |
|
120 #endif |