.\" Author: Juli Mallett .\" Date: June 04, 2003 .\" Description: .\" Manual page for libufs functions: .\" bread(3) .\" bwrite(3) .\" .\" This file is in the public domain. .\" .\" $FreeBSD$ .\" .Dd June 4, 2003 .Dt BREAD 3 .Os .Sh NAME .Nm bread , bwrite .Nd read and write blocks of a UFS file system .Sh LIBRARY .Lb libufs .Sh SYNOPSIS .In sys/param.h .In sys/mount.h .In ufs/ufs/ufsmount.h .In ufs/ufs/dinode.h .In ufs/ffs/fs.h .In libufs.h .Ft ssize_t .Fn bread "struct uufsd *disk" "ufs2_daddr_t blockno" "void *data" "size_t size" .Ft ssize_t .Fo bwrite .Fa "struct uufsd *disk" "ufs2_daddr_t blockno" .Fa "const void *data" "size_t size" .Fc .Sh DESCRIPTION The .Fn bread and .Fn bwrite functions provide a block read and write API for .Xr libufs 3 consumers. They operate on a userland UFS disk structure, and perform the read and write at a given block address, which uses the current .Va d_bsize value of the structure. .Sh RETURN VALUES The .Fn bread and .Fn bwrite functions return the amount read or written, or \-1 in case of any error, including short read. .Sh ERRORS The function .Fn bread may fail and set .Va errno for any of the errors specified for the library functions .Xr ufs_disk_write 3 or .Xr pread 2 . Additionally, it may follow the .Xr libufs 3 error methodologies in situations where the amount of data read is not equal to the amount requested, or in case of device error. .Pp The function .Fn bwrite may fail and set .Va errno for any of the errors specified for the library function .Xr pwrite 2 . Additionally, it may follow the .Xr libufs 3 error methodologies in situations where the amount of data written is not equal to the amount requested, or in case of a device error. .Sh SEE ALSO .Xr libufs 3 , .Xr ufs_disk_write 3 .Sh HISTORY These functions first appeared as part of .Xr libufs 3 in .Fx 5.0 . .Sh AUTHORS .An Juli Mallett Aq jmallett@FreeBSD.org