Beispiel #1
0
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;
}