Tizen RT Libs&Environment
v1.0 D5
Main Page
Modules
Data Structures
Files
File List
Globals
ioctl.h
Go to the documentation of this file.
1
/****************************************************************************
2
*
3
* Copyright 2016 Samsung Electronics All Rights Reserved.
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing,
12
* software distributed under the License is distributed on an
13
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14
* either express or implied. See the License for the specific
15
* language governing permissions and limitations under the License.
16
*
17
****************************************************************************/
18
/****************************************************************************
19
* include/sys/ioctl.h
20
*
21
* Copyright (C) 2007, 2008, 2012, 2014 Gregory Nutt. All rights reserved.
22
* Author: Gregory Nutt <gnutt@nuttx.org>
23
*
24
* Redistribution and use in source and binary forms, with or without
25
* modification, are permitted provided that the following conditions
26
* are met:
27
*
28
* 1. Redistributions of source code must retain the above copyright
29
* notice, this list of conditions and the following disclaimer.
30
* 2. Redistributions in binary form must reproduce the above copyright
31
* notice, this list of conditions and the following disclaimer in
32
* the documentation and/or other materials provided with the
33
* distribution.
34
* 3. Neither the name NuttX nor the names of its contributors may be
35
* used to endorse or promote products derived from this software
36
* without specific prior written permission.
37
*
38
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
40
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
41
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
42
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
43
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
45
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
46
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
47
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
48
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49
* POSSIBILITY OF SUCH DAMAGE.
50
*
51
****************************************************************************/
60
63
#ifndef __INCLUDE_SYS_IOCTL_H
64
#define __INCLUDE_SYS_IOCTL_H
65
66
/****************************************************************************
67
* Included Files
68
****************************************************************************/
69
70
/* Get TinyAra configuration and TinyAra-specific IOCTL definitions */
71
72
#include <tinyara/config.h>
73
#include <tinyara/fs/ioctl.h>
74
75
/* Include network ioctls info */
76
77
#if defined(CONFIG_NET) && CONFIG_NSOCKET_DESCRIPTORS > 0
78
#include <tinyara/net/ioctl.h>
79
#endif
80
81
/****************************************************************************
82
* Pre-Processor Definitions
83
****************************************************************************/
84
85
#undef EXTERN
86
#if defined(__cplusplus)
87
#define EXTERN extern "C"
88
extern
"C"
{
89
#else
90
#define EXTERN extern
91
#endif
92
93
/****************************************************************************
94
* Public Function Prototypes
95
****************************************************************************/
96
97
/****************************************************************************
98
* Name: ioctl
99
*
100
* Description:
101
* Perform device specific operations.
102
*
103
* ioctl() is a non-standard UNIX-like API
104
*
105
* Parameters:
106
* fd File/socket descriptor of device
107
* req The ioctl command
108
* arg The argument of the ioctl cmd, OR
109
* ... A third argument of type unsigned long is still expected.
110
*
111
* Return:
112
* >=0 on success (positive non-zero values are cmd-specific)
113
* -1 on failure with errno set properly:
114
*
115
* EBADF
116
* 'fd' is not a valid descriptor.
117
* EFAULT
118
* 'arg' references an inaccessible memory area.
119
* EINVAL
120
* 'cmd' or 'arg' is not valid.
121
* ENOTTY
122
* 'fd' is not associated with a character special device.
123
* ENOTTY
124
* The specified request does not apply to the kind of object that the
125
* descriptor 'fd' references.
126
*
127
****************************************************************************/
128
135
#ifdef CONFIG_LIBC_IOCTL_VARIADIC
136
int
ioctl
(
int
fd,
int
req, ...);
137
#else
138
int
ioctl
(
int
fd,
int
req,
unsigned
long
arg);
139
#endif
140
141
#undef EXTERN
142
#if defined(__cplusplus)
143
}
144
#endif
145
146
#endif
/* __INCLUDE_SYS_IOCTL_H */
147
ioctl
int ioctl(int fd, int req,...)
POSIX APIs (refer to : http://pubs.opengroup.org/onlinepubs/9699919799/)
os
include
sys
ioctl.h
Generated by
1.8.11