]> git.proxmox.com Git - mirror_edk2.git/blame - StdLib/Include/sys/ioctl.h
StdLib: Add STDC macros, for MSFT compilers, to improve compatibility with various...
[mirror_edk2.git] / StdLib / Include / sys / ioctl.h
CommitLineData
53e1e5c6 1/** @file\r
2 Device Control, ioctl, definitions and declarations.\r
3\r
4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
5 This program and the accompanying materials are licensed and made available under\r
6 the terms and conditions of the BSD License that accompanies this distribution.\r
7 The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 * Copyright (c) 1982, 1986, 1990, 1993, 1994\r
14 * The Regents of the University of California. All rights reserved.\r
15 * (c) UNIX System Laboratories, Inc.\r
16 * All or some portions of this file are derived from material licensed\r
17 * to the University of California by American Telephone and Telegraph\r
18 * Co. or Unix System Laboratories, Inc. and are reproduced herein with\r
19 * the permission of UNIX System Laboratories, Inc.\r
20 *\r
21 * Redistribution and use in source and binary forms, with or without\r
22 * modification, are permitted provided that the following conditions\r
23 * are met:\r
24 * 1. Redistributions of source code must retain the above copyright\r
25 * notice, this list of conditions and the following disclaimer.\r
26 * 2. Redistributions in binary form must reproduce the above copyright\r
27 * notice, this list of conditions and the following disclaimer in the\r
28 * documentation and/or other materials provided with the distribution.\r
29 * 3. Neither the name of the University nor the names of its contributors\r
30 * may be used to endorse or promote products derived from this software\r
31 * without specific prior written permission.\r
32 *\r
33 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND\r
34 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
35 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
36 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE\r
37 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
38 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
39 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
40 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
41 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
42 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
43 * SUCH DAMAGE.\r
44\r
45 NetBSD: ioctl.h,v 1.34 2005/12/11 12:25:20 christos Exp\r
46 ioctl.h 8.6 (Berkeley) 3/28/94\r
47**/\r
48#ifndef _SYS_IOCTL_H_\r
49#define _SYS_IOCTL_H_\r
50\r
51\r
52//#include <sys/ttycom.h>\r
53\r
54/*\r
55 * Pun for SunOS prior to 3.2. SunOS 3.2 and later support TIOCGWINSZ\r
56 * and TIOCSWINSZ (yes, even 3.2-3.5, the fact that it wasn't documented\r
57 * nonwithstanding).\r
58 */\r
59struct ttysize {\r
60 unsigned short ts_lines;\r
61 unsigned short ts_cols;\r
62 unsigned short ts_xxx;\r
63 unsigned short ts_yyy;\r
64};\r
65//#define TIOCGSIZE TIOCGWINSZ\r
66//#define TIOCSSIZE TIOCSWINSZ\r
67\r
68//#include <sys/ioccom.h>\r
69\r
70//#include <sys/dkio.h>\r
71//#include <sys/filio.h>\r
72//#include <sys/sockio.h>\r
73\r
74/*\r
75 * Passthrough ioctl commands. These are passed through to devices\r
76 * as they are, it is expected that the device (an LKM, for example),\r
77 * will know how to deal with them. One for each emulation, so that\r
78 * no namespace clashes will occur between them, for devices that\r
79 * may be dealing with specific ioctls for multiple emulations.\r
80 */\r
81\r
82struct ioctl_pt {\r
83 unsigned long com;\r
84 void *data;\r
85};\r
86\r
87#define PTIOCNETBSD _IOW('Z', 0, struct ioctl_pt)\r
88#define PTIOCSUNOS _IOW('Z', 1, struct ioctl_pt)\r
89#define PTIOCSVR4 _IOW('Z', 2, struct ioctl_pt)\r
90#define PTIOCLINUX _IOW('Z', 3, struct ioctl_pt)\r
91#define PTIOCFREEBSD _IOW('Z', 4, struct ioctl_pt)\r
92#define PTIOCOSF1 _IOW('Z', 5, struct ioctl_pt)\r
93#define PTIOCULTRIX _IOW('Z', 6, struct ioctl_pt)\r
94#define PTIOCWIN32 _IOW('Z', 7, struct ioctl_pt)\r
95\r
96#include <sys/EfiCdefs.h>\r
97\r
98__BEGIN_DECLS\r
99int ioctl(int, unsigned long, ...);\r
100__END_DECLS\r
101#endif /* !_SYS_IOCTL_H_ */\r