status_t packagefs_read_index_stat(fs_volume* fsVolume, const char* name, struct stat* stat) { Volume* volume = (Volume*)fsVolume->private_volume; FUNCTION("volume: %p, name: \"%s\", stat: %p\n", volume, name, stat); Index* index = volume->FindIndex(StringKey(name)); if (index == NULL) return B_ENTRY_NOT_FOUND; VolumeReadLocker volumeReadLocker(volume); memset(stat, 0, sizeof(*stat)); // TODO: st_mtime, st_crtime, st_uid, st_gid are made available to // userland, so we should make an attempt to fill in values that make // sense. stat->st_type = index->Type(); stat->st_size = index->CountEntries(); return B_OK; }