Changeset View
Changeset View
Standalone View
Standalone View
head/sys/sys/filio.h
Show All 34 Lines | |||||
* | * | ||||
* @(#)filio.h 8.1 (Berkeley) 3/28/94 | * @(#)filio.h 8.1 (Berkeley) 3/28/94 | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _SYS_FILIO_H_ | #ifndef _SYS_FILIO_H_ | ||||
#define _SYS_FILIO_H_ | #define _SYS_FILIO_H_ | ||||
#include <sys/types.h> | #include <sys/_types.h> | ||||
#include <sys/ioccom.h> | #include <sys/ioccom.h> | ||||
/* Generic file-descriptor ioctl's. */ | /* Generic file-descriptor ioctl's. */ | ||||
#define FIOCLEX _IO('f', 1) /* set close on exec on fd */ | #define FIOCLEX _IO('f', 1) /* set close on exec on fd */ | ||||
#define FIONCLEX _IO('f', 2) /* remove close on exec */ | #define FIONCLEX _IO('f', 2) /* remove close on exec */ | ||||
#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ | #define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ | ||||
#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ | #define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ | ||||
#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ | #define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ | ||||
#define FIOSETOWN _IOW('f', 124, int) /* set owner */ | #define FIOSETOWN _IOW('f', 124, int) /* set owner */ | ||||
#define FIOGETOWN _IOR('f', 123, int) /* get owner */ | #define FIOGETOWN _IOR('f', 123, int) /* get owner */ | ||||
#define FIODTYPE _IOR('f', 122, int) /* get d_flags type part */ | #define FIODTYPE _IOR('f', 122, int) /* get d_flags type part */ | ||||
#define FIOGETLBA _IOR('f', 121, int) /* get start blk # */ | #define FIOGETLBA _IOR('f', 121, int) /* get start blk # */ | ||||
struct fiodgname_arg { | struct fiodgname_arg { | ||||
int len; | int len; | ||||
void *buf; | void *buf; | ||||
}; | }; | ||||
#define FIODGNAME _IOW('f', 120, struct fiodgname_arg) /* get dev. name */ | #define FIODGNAME _IOW('f', 120, struct fiodgname_arg) /* get dev. name */ | ||||
#define FIONWRITE _IOR('f', 119, int) /* get # bytes (yet) to write */ | #define FIONWRITE _IOR('f', 119, int) /* get # bytes (yet) to write */ | ||||
#define FIONSPACE _IOR('f', 118, int) /* get space in send queue */ | #define FIONSPACE _IOR('f', 118, int) /* get space in send queue */ | ||||
/* Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. */ | /* Handle lseek SEEK_DATA and SEEK_HOLE for holey file knowledge. */ | ||||
#define FIOSEEKDATA _IOWR('f', 97, off_t) /* SEEK_DATA */ | #define FIOSEEKDATA _IOWR('f', 97, off_t) /* SEEK_DATA */ | ||||
#define FIOSEEKHOLE _IOWR('f', 98, off_t) /* SEEK_HOLE */ | #define FIOSEEKHOLE _IOWR('f', 98, off_t) /* SEEK_HOLE */ | ||||
struct fiobmap2_arg { | struct fiobmap2_arg { | ||||
int64_t bn; | __daddr_t bn; | ||||
int runp; | int runp; | ||||
int runb; | int runb; | ||||
}; | }; | ||||
/* Get the file's bmap info for the logical block bn */ | /* Get the file's bmap info for the logical block bn. */ | ||||
#define FIOBMAP2 _IOWR('f', 99, struct fiobmap2_arg) | #define FIOBMAP2 _IOWR('f', 99, struct fiobmap2_arg) | ||||
#ifdef _KERNEL | #ifdef _KERNEL | ||||
#ifdef COMPAT_FREEBSD32 | #ifdef COMPAT_FREEBSD32 | ||||
struct fiodgname_arg32 { | struct fiodgname_arg32 { | ||||
int len; | int len; | ||||
uint32_t buf; /* (void *) */ | uint32_t buf; /* (void *) */ | ||||
}; | }; | ||||
#define FIODGNAME_32 _IOC_NEWTYPE(FIODGNAME, struct fiodgname_arg32) | #define FIODGNAME_32 _IOC_NEWTYPE(FIODGNAME, struct fiodgname_arg32) | ||||
#endif | #endif | ||||
void *fiodgname_buf_get_ptr(void *fgnp, u_long com); | void *fiodgname_buf_get_ptr(void *fgnp, u_long com); | ||||
#endif | #endif | ||||
#endif /* !_SYS_FILIO_H_ */ | #endif /* !_SYS_FILIO_H_ */ |