VNFILEOPS(9) NetBSD Kernel Developer's Manual VNFILEOPS(9)
NAME
vnfileops, vn_closefile, vn_fcntl, vn_ioctl, vn_read, vn_poll, vn_statfile, vn_write -- vnode file descriptor operations
SYNOPSIS
#include <sys/param.h> #include <sys/file.h> #include <sys/vnode.h> int vn_closefile(file_t *fp); int vn_fcntl(file_t *fp, u_int com, void *data); int vn_ioctl(file_t *fp, u_long com, void *data); int vn_read(file_t *fp, off_t *offset, struct uio *uio, kauth_cred_t cred, int flags); int vn_poll(file_t *fp, int events); int vn_statfile(file_t *fp, struct stat *sb); int vn_write(file_t *fp, off_t *offset, struct uio *uio, kauth_cred_t cred, int flags);
DESCRIPTION
The functions described in this page are the vnode-specific file descrip- tor operations. They should only be accessed through the opaque function pointers in the file entries (see file(9)). They are described here only for completeness.
FUNCTIONS
vn_closefile(fp, l) Common code for a file table vnode close operation. The file is described by fp and l is the calling lwp. vn_closefile() simply calls vn_close(9) with the appropriate arguments. vn_fcntl(fp, com, data, l) Common code for a file table vnode fcntl(2) operation. The file is specified by fp. The argument l is the calling lwp. vn_fcntl() simply locks the vnode and invokes the vnode opera- tion VOP_FCNTL(9) with the command com and buffer data. The vnode is unlocked on return. If the operation is successful zero is returned, otherwise an appropriate error is returned. vn_ioctl(fp, com, data, l) Common code for a file table vnode ioctl operation. The file is specified by fp. The argument l is the calling lwp vn_ioctl() simply locks the vnode and invokes the vnode operation VOP_IOCTL(9) with the command com and buffer data. The vnode is unlocked on return. If the operation is successful zero is returned, otherwise an appropriate error is returned. vn_read(fp, offset, uio, cred, flags) Common code for a file table vnode read. The argument fp is the file structure, The argument offset is the offset into the file. The argument uio is the uio structure describing the mem- ory to read into. The caller's credentials are specified in cred. The flags argument can define FOF_UPDATE_OFFSET to update the read position in the file. If the operation is successful zero is returned, otherwise an appropriate error is returned. vn_poll(fp, events, l) Common code for a file table vnode poll operation. vn_poll() simply calls VOP_POLL(9) with the events events and the calling lwp l. The function returns a bitmask of available events. vn_statfile(fp, sb, l) Common code for a stat operation. The file descriptor is speci- fied by the argument fp and sb is the buffer to return the stat information. The argument l is the calling lwp. vn_statfile() basically calls the vnode operation VOP_GETATTR(9) and transfer the contents of a vattr structure into a struct stat. If the operation is successful zero is returned, otherwise an appropri- ate error code is returned. vn_write(fp, offset, uio, cred, flags) Common code for a file table vnode write. The argument fp is the file structure, The argument offset is the offset into the file. The argument uio is the uio structure describing the mem- ory to read from. The caller's credentials are specified in cred. The flags argument can define FOF_UPDATE_OFFSET to update the read position in the file. If the operation is successful zero is returned, otherwise an appropriate error is returned.
CODE REFERENCES
The high-level convenience functions are implemented within the file sys/kern/vfs_vnops.c.
SEE ALSO
file(9), intro(9), vnode(9), vnodeops(9), vnsubr(9) NetBSD 7.1_STABLE April 9, 2008 NetBSD 7.1_STABLE
Powered by man-cgi (2024-08-26). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.