1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2007 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
/* Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T */
/* All Rights Reserved */
/*
* University Copyright- Copyright (c) 1982, 1986, 1988
* The Regents of the University of California
* All Rights Reserved
*
* University Acknowledgment- Portions of this document are derived from
* software developed by the University of California, Berkeley, and its
* contributors.
*/
/*
* Copyright (c) 2013 by Delphix. All rights reserved.
*/
#ifndef _SYS_FILIO_H
#define _SYS_FILIO_H
/*
* General file ioctl definitions.
*/
#include <sys/ioccom.h>
#ifdef __cplusplus
extern "C" {
#endif
#define FIOCLEX _IO('f', 1) /* set exclusive use on fd */
#define FIONCLEX _IO('f', 2) /* remove exclusive use */
/* another local */
#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */
#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */
#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */
#define FIOSETOWN _IOW('f', 124, int) /* set owner */
#define FIOGETOWN _IOR('f', 123, int) /* get owner */
/*
* ioctl's for Online: DiskSuite.
* WARNING - the support for these ioctls may be withdrawn
* in future OS releases.
*/
#define _FIOLFS _IO('f', 64) /* file system lock */
#define _FIOLFSS _IO('f', 65) /* file system lock status */
#define _FIOFFS _IO('f', 66) /* file system flush */
#define _FIOAI _FIOOBSOLETE67 /* get allocation info is */
#define _FIOOBSOLETE67 _IO('f', 67) /* obsolete and unsupported */
#define _FIOSATIME _IO('f', 68) /* set atime */
#define _FIOSDIO _IO('f', 69) /* set delayed io */
#define _FIOGDIO _IO('f', 70) /* get delayed io */
#define _FIOIO _IO('f', 71) /* inode open */
#define _FIOISLOG _IO('f', 72) /* disksuite/ufs protocol */
#define _FIOISLOGOK _IO('f', 73) /* disksuite/ufs protocol */
#define _FIOLOGRESET _IO('f', 74) /* disksuite/ufs protocol */
/*
* Contract-private ioctl()
*/
#define _FIOISBUSY _IO('f', 75) /* networker/ufs protocol */
#define _FIODIRECTIO _IO('f', 76) /* directio */
#define _FIOTUNE _IO('f', 77) /* tuning */
/*
* WARNING: These 'f' ioctls are also defined in sys/fs/cachefs_fs.h
* It currently defines 78-86.
*/
/*
* Internal Logging UFS
*/
#define _FIOLOGENABLE _IO('f', 87) /* logging/ufs protocol */
#define _FIOLOGDISABLE _IO('f', 88) /* logging/ufs protocol */
/*
* File system snapshot ioctls (see sys/fs/ufs_snap.h)
* (there is another snapshot ioctl, _FIOSNAPSHOTCREATE_MULTI,
* defined farther down in this file.)
*/
#define _FIOSNAPSHOTCREATE _IO('f', 89) /* create a snapshot */
#define _FIOSNAPSHOTDELETE _IO('f', 90) /* delete a snapshot */
/*
* Return the current superblock of size SBSIZE
*/
#define _FIOGETSUPERBLOCK _IO('f', 91)
/*
* Contract private ioctl
*/
#define _FIOGETMAXPHYS _IO('f', 92)
/*
* TSufs support
*/
#define _FIO_SET_LUFS_DEBUG _IO('f', 93) /* set lufs_debug */
#define _FIO_SET_LUFS_ERROR _IO('f', 94) /* set a lufs error */
#define _FIO_GET_TOP_STATS _IO('f', 95) /* get lufs tranaction stats */
/*
* create a snapshot with multiple backing files
*/
#define _FIOSNAPSHOTCREATE_MULTI _IO('f', 96)
/*
* handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge
*/
#define _FIO_SEEK_DATA _IO('f', 97) /* SEEK_DATA */
#define _FIO_SEEK_HOLE _IO('f', 98) /* SEEK_HOLE */
/*
* boot archive compression
*/
#define _FIO_COMPRESSED _IO('f', 99) /* mark file as compressed */
/*
* Expose fill information through ioctl
*/
#define _FIO_COUNT_FILLED _IO('f', 100) /* count holes in a file */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_FILIO_H */
|