GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
BREAD(3) FreeBSD Library Functions Manual BREAD(3)

bread, bwrite
read and write blocks of a UFS file system

UFS File System Access Library (libufs, -lufs)

#include <sys/param.h>
#include <sys/mount.h>
#include <ufs/ufs/ufsmount.h>
#include <ufs/ufs/dinode.h>
#include <ufs/ffs/fs.h>
#include <libufs.h>

ssize_t
bread(struct uufsd *disk, ufs2_daddr_t blockno, void *data, size_t size);

ssize_t
bwrite(struct uufsd *disk, ufs2_daddr_t blockno, const void *data, size_t size);

int
berase(struct uufsd *disk, ufs2_daddr_t blockno, ufs2_daddr_t size);

The bread(), bwrite() and berase() functions provide a block read, write and erase API for 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 d_bsize value of the structure.

The bread() and bwrite() functions return the amount read or written, or -1 in case of any error, including short read.

The berase() function returns non-zero on error.

The function bread() may fail and set errno for any of the errors specified for the library functions ufs_disk_write(3) or pread(2).

The function bwrite() may fail and set errno for any of the errors specified for the library function pwrite(2).

The function berase() may fail and set errno for any of the errors specified for the library function ioctl(2).

Additionally all three functions may follow the 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.

libufs(3), ufs_disk_write(3)

These functions first appeared as part of libufs(3) in FreeBSD 5.0.

Juli Mallett <jmallett@FreeBSD.org>
June 4, 2003 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.