VERITAS File System 4.1 Administrator's Guide

File Change Log
File Change Log Programmatic Interface
Chapter 8136
if ((fd = open(fclname, O_RDONLY)) < 0) {
return ENOENT;
}
if ((off = lseek(fd, 0, SEEK_SET)) != 0) {
close(fd);
return EIO;
}
size = read(fd, &fclsb, sizeof (struct fcl_sb));
if (size < 0) {
close(fd);
return EIO;
}
if (fclsb.fc_state == VX_FCLS_OFF) {
close(fd);
return 0;
}
if (err = vxfsu_fcl_sync(fclname, &lastoff)) {
close(fd);
return err;
}
if ((off = lseek(fd, fclsb.fc_foff)) != fclsb.fc_foff) {
close(fd);
return EIO;
}
while (off < lastoff) {
if ((size = read(fd, bufp, FCL_READSZ)) <= 0) {
close(fd);
return errno;
}
/* process fcl entries */
off += size;
}