btrfs-progs/props.h
Alexander Block 85be2aaf91 Btrfs-progs: introduce btrfs property subgroup
"btrfs filesystem property" is a generic interface to set/get
properties on filesystem objects (inodes/subvolumes/filesystems
/devs).

This patch adds the generic framework for properties and also
implements two properties. The first is the read-only property
for subvolumes and the second is the label property for devices.

Signed-off-by: Alexander Block <ablock84@googlemail.com>
Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.cz>
Signed-off-by: Chris Mason <clm@fb.com>
2014-01-31 08:22:31 -08:00

44 lines
1.2 KiB
C

/*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public
* License v2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 021110-1307, USA.
*/
#ifndef PROPS_H_
#define PROPS_H_
enum prop_object_type {
prop_object_dev = (1 << 0),
prop_object_root = (1 << 1),
prop_object_subvol = (1 << 2),
prop_object_inode = (1 << 3),
__prop_object_max,
};
typedef int (*prop_handler_t)(enum prop_object_type type,
const char *object,
const char *name,
const char *value);
struct prop_handler {
const char *name;
const char *desc;
int read_only;
int types;
prop_handler_t handler;
};
extern const struct prop_handler prop_handlers[];
#endif /* PROPS_H_ */