FreeBSD/Linux Kernel Cross Reference
sys/sys/sliceio.h
1 /*
2 * $FreeBSD$
3 */
4
5 #ifndef _SYS_SLICEIO_H_
6 #define _SYS_SLICEIO_H_
7
8 #ifndef KERNEL
9 #include <sys/types.h>
10 #endif
11 #include <sys/ioccom.h>
12 #define SLCTYPE_SIZE 16
13 #define SLCNAME_SIZE 32
14
15 struct sliceinfo {
16 u_int64_t size;
17 u_int32_t blocksize;
18 char type[SLCTYPE_SIZE]; /* e.g. sd or raw*/
19 char hint[SLCTYPE_SIZE]; /* e.g. mbr or ""*/
20 char handler[SLCTYPE_SIZE]; /* e.g. mbr or "" */
21 char devicename[SLCNAME_SIZE]; /* e.g. sd0s1a */
22 };
23
24 struct subsliceinfo {
25 struct sliceinfo wholesliceinfo; /* size of the whole slice */
26 int slicenumber; /* which subslice we are on */
27 u_int64_t offset; /* where that subslice starts */
28 struct sliceinfo subsliceinfo; /* info about that subslice */
29 };
30
31 #define SLCIOCRESET _IO('S', 0) /* reset and reprobe. */
32 #define SLCIOCINQ _IOR('S', 2, struct sliceinfo) /* info on container */
33 #define SLCIOCMOD _IOW('S', 3, struct sliceinfo) /* force container */
34 #define SLCIOCGETSUB _IOWR('S', 4, struct subsliceinfo) /* get sub info */
35 #define SLCIOCSETSUB _IOWR('S', 5, struct subsliceinfo) /* set sub info */
36 #define SLCIOCTRANSBAD _IOWR('S', 6, daddr_t) /* map bad144 sector */
37
38 #endif /* !_SYS_SLICEIO_H_ */
Cache object: 0630ab3c3b739b39938fe35ea011ea91
|