LFS_BMAPV(2) | System Calls Manual | LFS_BMAPV(2) |
lfs_bmapv
—
#include <sys/types.h>
#include <ufs/lfs/lfs.h>
int
lfs_bmapv
(fsid_t
*fsidp, BLOCK_INFO
*blkiov, int
blkcnt);
lfs_bmapv
() fills in the bi_daddr field for every block
listed in the block array blkiov with the disk address
corresponding to the logical block bi_lbn of the file
with inode bi_inode. If bi_lbn is
LFS_UNUSED_LBN, the disk location of the inode block containing the file's
inode will be returned in bi_daddr instead.
The fsidp argument contains the id of the file system to which the inodes and blocks belong. The blkiov argument is an array of BLOCK_INFO structures (see below). The blkcnt argument determines the size of the blkiov array.
typedef struct block_info { ino_t bi_inode; /* inode # */ ufs_daddr_t bi_lbn; /* logical block w/in file */ ufs_daddr_t bi_daddr; /* disk address of block */ time_t bi_segcreate; /* origin segment create time */ int bi_version; /* file version number */ void *bi_bp; /* data buffer */ int bi_size; /* size of the block (if fragment) */ } BLOCK_INFO;
lfs_bmapv
() returns 0 on success, or -1 on error.
lfs_bmapv
() indicates:
lfs_bmapv
() function call appeared in
4.4BSD.
May 23, 2000 | NetBSD 9.0 |