diff options
-rw-r--r-- | libblkid/src/blkid.h.in | 378 |
1 files changed, 273 insertions, 105 deletions
diff --git a/libblkid/src/blkid.h.in b/libblkid/src/blkid.h.in index 8f6d336f1..717c71d3f 100644 --- a/libblkid/src/blkid.h.in +++ b/libblkid/src/blkid.h.in @@ -120,101 +120,182 @@ typedef struct blkid_struct_dev_iterate *blkid_dev_iterate; #define BLKID_DEV_VERIFY 0x0002 #define BLKID_DEV_NORMAL (BLKID_DEV_CREATE | BLKID_DEV_VERIFY) + +#ifndef __GNUC_PREREQ +# if defined __GNUC__ && defined __GNUC_MINOR__ +# define __GNUC_PREREQ(maj, min) ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min)) +# else +# define __GNUC_PREREQ(maj, min) 0 +# endif +#endif + +#ifndef __ul_attribute__ +# if __GNUC_PREREQ (3, 4) +# define __ul_attribute__(_a_) __attribute__(_a_) +# else +# define __ul_attribute__(_a_) +# endif +#endif + /* cache.c */ -extern void blkid_put_cache(blkid_cache cache); -extern int blkid_get_cache(blkid_cache *cache, const char *filename); -extern void blkid_gc_cache(blkid_cache cache); +extern void blkid_put_cache(blkid_cache cache) + __ul_attribute__((nonnull)); +extern int blkid_get_cache(blkid_cache *cache, const char *filename) + __ul_attribute__((nonnull(1))); +extern void blkid_gc_cache(blkid_cache cache) + __ul_attribute__((nonnull)); /* dev.c */ -extern const char *blkid_dev_devname(blkid_dev dev); +extern const char *blkid_dev_devname(blkid_dev dev) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); -extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache); +extern blkid_dev_iterate blkid_dev_iterate_begin(blkid_cache cache) + __ul_attribute__((nonnull)); extern int blkid_dev_set_search(blkid_dev_iterate iter, - char *search_type, char *search_value); -extern int blkid_dev_next(blkid_dev_iterate iterate, blkid_dev *dev); -extern void blkid_dev_iterate_end(blkid_dev_iterate iterate); + char *search_type, char *search_value) + __ul_attribute__((nonnull)); +extern int blkid_dev_next(blkid_dev_iterate iterate, blkid_dev *dev) + __ul_attribute__((nonnull)); +extern void blkid_dev_iterate_end(blkid_dev_iterate iterate) + __ul_attribute__((nonnull)); /* devno.c */ -extern char *blkid_devno_to_devname(dev_t devno); +extern char *blkid_devno_to_devname(dev_t devno) + __ul_attribute__((warn_unused_result)); extern int blkid_devno_to_wholedisk(dev_t dev, char *diskname, - size_t len, dev_t *diskdevno); + size_t len, dev_t *diskdevno) + __ul_attribute__((warn_unused_result)); /* devname.c */ -extern int blkid_probe_all(blkid_cache cache); -extern int blkid_probe_all_new(blkid_cache cache); -extern int blkid_probe_all_removable(blkid_cache cache); +extern int blkid_probe_all(blkid_cache cache) + __ul_attribute__((nonnull)); +extern int blkid_probe_all_new(blkid_cache cache) + __ul_attribute__((nonnull)); +extern int blkid_probe_all_removable(blkid_cache cache) + __ul_attribute__((nonnull)); extern blkid_dev blkid_get_dev(blkid_cache cache, const char *devname, - int flags); + int flags) + __ul_attribute__((nonnull)); /* getsize.c */ -extern blkid_loff_t blkid_get_dev_size(int fd); +extern blkid_loff_t blkid_get_dev_size(int fd) + __ul_attribute__((warn_unused_result)); /* verify.c */ -extern blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev); +extern blkid_dev blkid_verify(blkid_cache cache, blkid_dev dev) + __ul_attribute__((nonnull)); /* read.c */ /* resolve.c */ extern char *blkid_get_tag_value(blkid_cache cache, const char *tagname, - const char *devname); + const char *devname) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); extern char *blkid_get_devname(blkid_cache cache, const char *token, - const char *value); + const char *value) + __ul_attribute__((nonnull(1, 2))) + __ul_attribute__((warn_unused_result)); /* tag.c */ -extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev); +extern blkid_tag_iterate blkid_tag_iterate_begin(blkid_dev dev) + __ul_attribute__((warn_unused_result)); extern int blkid_tag_next(blkid_tag_iterate iterate, - const char **type, const char **value); -extern void blkid_tag_iterate_end(blkid_tag_iterate iterate); + const char **type, const char **value) + __ul_attribute__((nonnull)); +extern void blkid_tag_iterate_end(blkid_tag_iterate iterate) + __ul_attribute__((nonnull)); extern int blkid_dev_has_tag(blkid_dev dev, const char *type, - const char *value); + const char *value) + __ul_attribute__((nonnull(1 ,2))); extern blkid_dev blkid_find_dev_with_tag(blkid_cache cache, const char *type, - const char *value); + const char *value) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); extern int blkid_parse_tag_string(const char *token, char **ret_type, - char **ret_val); + char **ret_val) + __ul_attribute__((nonnull)); /* version.c */ -extern int blkid_parse_version_string(const char *ver_string); +extern int blkid_parse_version_string(const char *ver_string) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); extern int blkid_get_library_version(const char **ver_string, - const char **date_string); + const char **date_string) + __ul_attribute__((nonnull)); /* encode.c */ -extern int blkid_encode_string(const char *str, char *str_enc, size_t len); -extern int blkid_safe_string(const char *str, char *str_safe, size_t len); +extern int blkid_encode_string(const char *str, char *str_enc, size_t len) + __ul_attribute__((nonnull)); +extern int blkid_safe_string(const char *str, char *str_safe, size_t len) + __ul_attribute__((nonnull)); /* evaluate.c */ -extern int blkid_send_uevent(const char *devname, const char *action); +extern int blkid_send_uevent(const char *devname, const char *action) + __ul_attribute__((nonnull)); extern char *blkid_evaluate_tag(const char *token, const char *value, - blkid_cache *cache); -extern char *blkid_evaluate_spec(const char *spec, blkid_cache *cache); + blkid_cache *cache) + __ul_attribute__((nonnull(1, 2))) + __ul_attribute__((warn_unused_result)); +extern char *blkid_evaluate_spec(const char *spec, blkid_cache *cache) + __ul_attribute__((nonnull(1))) + __ul_attribute__((warn_unused_result)); /* probe.c */ -extern blkid_probe blkid_new_probe(void); -extern blkid_probe blkid_new_probe_from_filename(const char *filename); +extern blkid_probe blkid_new_probe(void) + __ul_attribute__((warn_unused_result)); +extern blkid_probe blkid_new_probe_from_filename(const char *filename) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); extern void blkid_free_probe(blkid_probe pr); -extern void blkid_reset_probe(blkid_probe pr); -extern int blkid_probe_set_device(blkid_probe pr, int fd, - blkid_loff_t off, blkid_loff_t size); - -extern dev_t blkid_probe_get_devno(blkid_probe pr); -extern dev_t blkid_probe_get_wholedisk_devno(blkid_probe pr); -extern int blkid_probe_is_wholedisk(blkid_probe pr); +extern void blkid_reset_probe(blkid_probe pr) + __ul_attribute__((nonnull)); -extern blkid_loff_t blkid_probe_get_size(blkid_probe pr); -extern blkid_loff_t blkid_probe_get_offset(blkid_probe pr); -extern unsigned int blkid_probe_get_sectorsize(blkid_probe pr); -extern blkid_loff_t blkid_probe_get_sectors(blkid_probe pr); - -extern int blkid_probe_get_fd(blkid_probe pr); +extern int blkid_probe_set_device(blkid_probe pr, int fd, + blkid_loff_t off, blkid_loff_t size) + __ul_attribute__((nonnull)); + +extern dev_t blkid_probe_get_devno(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern dev_t blkid_probe_get_wholedisk_devno(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_probe_is_wholedisk(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); + +extern blkid_loff_t blkid_probe_get_size(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_loff_t blkid_probe_get_offset(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned int blkid_probe_get_sectorsize(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_loff_t blkid_probe_get_sectors(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); + +extern int blkid_probe_get_fd(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); /* * superblocks probing */ -extern int blkid_known_fstype(const char *fstype); +extern int blkid_known_fstype(const char *fstype) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); + extern int blkid_superblocks_get_name(size_t idx, const char **name, int *usage); -extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable); +extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); #define BLKID_SUBLKS_LABEL (1 << 1) /* read LABEL from superblock */ #define BLKID_SUBLKS_LABELRAW (1 << 2) /* read and define LABEL_RAW result value*/ @@ -229,10 +310,12 @@ extern int blkid_probe_enable_superblocks(blkid_probe pr, int enable); #define BLKID_SUBLKS_DEFAULT (BLKID_SUBLKS_LABEL | BLKID_SUBLKS_UUID | \ BLKID_SUBLKS_TYPE | BLKID_SUBLKS_SECTYPE) -extern int blkid_probe_set_superblocks_flags(blkid_probe pr, int flags); - -extern int blkid_probe_reset_superblocks_filter(blkid_probe pr); -extern int blkid_probe_invert_superblocks_filter(blkid_probe pr); +extern int blkid_probe_set_superblocks_flags(blkid_probe pr, int flags) + __ul_attribute__((nonnull)); +extern int blkid_probe_reset_superblocks_filter(blkid_probe pr) + __ul_attribute__((nonnull)); +extern int blkid_probe_invert_superblocks_filter(blkid_probe pr) + __ul_attribute__((nonnull)); /** * BLKID_FLTR_NOTIN @@ -242,85 +325,156 @@ extern int blkid_probe_invert_superblocks_filter(blkid_probe pr); * BLKID_FLTR_ONLYIN */ #define BLKID_FLTR_ONLYIN 2 -extern int blkid_probe_filter_superblocks_type(blkid_probe pr, int flag, char *names[]); +extern int blkid_probe_filter_superblocks_type(blkid_probe pr, int flag, char *names[]) + __ul_attribute__((nonnull)); #define BLKID_USAGE_FILESYSTEM (1 << 1) #define BLKID_USAGE_RAID (1 << 2) #define BLKID_USAGE_CRYPTO (1 << 3) #define BLKID_USAGE_OTHER (1 << 4) -extern int blkid_probe_filter_superblocks_usage(blkid_probe pr, int flag, int usage); +extern int blkid_probe_filter_superblocks_usage(blkid_probe pr, int flag, int usage) + __ul_attribute__((nonnull)); /* * topology probing */ -extern int blkid_probe_enable_topology(blkid_probe pr, int enable); +extern int blkid_probe_enable_topology(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); /* binary interface */ -extern blkid_topology blkid_probe_get_topology(blkid_probe pr); - -extern unsigned long blkid_topology_get_alignment_offset(blkid_topology tp); -extern unsigned long blkid_topology_get_minimum_io_size(blkid_topology tp); -extern unsigned long blkid_topology_get_optimal_io_size(blkid_topology tp); -extern unsigned long blkid_topology_get_logical_sector_size(blkid_topology tp); -extern unsigned long blkid_topology_get_physical_sector_size(blkid_topology tp); +extern blkid_topology blkid_probe_get_topology(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); + +extern unsigned long blkid_topology_get_alignment_offset(blkid_topology tp) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned long blkid_topology_get_minimum_io_size(blkid_topology tp) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned long blkid_topology_get_optimal_io_size(blkid_topology tp) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned long blkid_topology_get_logical_sector_size(blkid_topology tp) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned long blkid_topology_get_physical_sector_size(blkid_topology tp) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); /* * partitions probing */ -extern int blkid_known_pttype(const char *pttype); -extern int blkid_probe_enable_partitions(blkid_probe pr, int enable); +extern int blkid_known_pttype(const char *pttype) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); -extern int blkid_probe_reset_partitions_filter(blkid_probe pr); -extern int blkid_probe_invert_partitions_filter(blkid_probe pr); -extern int blkid_probe_filter_partitions_type(blkid_probe pr, int flag, char *names[]); +extern int blkid_probe_enable_partitions(blkid_probe pr, int enable) + __ul_attribute__((nonnull)); + +extern int blkid_probe_reset_partitions_filter(blkid_probe pr) + __ul_attribute__((nonnull)); +extern int blkid_probe_invert_partitions_filter(blkid_probe pr) + __ul_attribute__((nonnull)); +extern int blkid_probe_filter_partitions_type(blkid_probe pr, int flag, char *names[]) + __ul_attribute__((nonnull)); /* partitions probing flags */ #define BLKID_PARTS_FORCE_GPT (1 << 1) #define BLKID_PARTS_ENTRY_DETAILS (1 << 2) #define BLKID_PARTS_MAGIC (1 << 3) -extern int blkid_probe_set_partitions_flags(blkid_probe pr, int flags); +extern int blkid_probe_set_partitions_flags(blkid_probe pr, int flags) + __ul_attribute__((nonnull)); /* binary interface */ -extern blkid_partlist blkid_probe_get_partitions(blkid_probe pr); - -extern int blkid_partlist_numof_partitions(blkid_partlist ls); -extern blkid_parttable blkid_partlist_get_table(blkid_partlist ls); -extern blkid_partition blkid_partlist_get_partition(blkid_partlist ls, int n); -extern blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno); - -extern blkid_parttable blkid_partition_get_table(blkid_partition par); -extern const char *blkid_partition_get_name(blkid_partition par); -extern const char *blkid_partition_get_uuid(blkid_partition par); -extern int blkid_partition_get_partno(blkid_partition par); -extern blkid_loff_t blkid_partition_get_start(blkid_partition par); -extern blkid_loff_t blkid_partition_get_size(blkid_partition par); -extern int blkid_partition_get_type(blkid_partition par); -extern const char *blkid_partition_get_type_string(blkid_partition par); -extern unsigned long long blkid_partition_get_flags(blkid_partition par); -extern int blkid_partition_is_logical(blkid_partition par); -extern int blkid_partition_is_extended(blkid_partition par); -extern int blkid_partition_is_primary(blkid_partition par); - -extern const char *blkid_parttable_get_type(blkid_parttable tab); -extern blkid_loff_t blkid_parttable_get_offset(blkid_parttable tab); -extern blkid_partition blkid_parttable_get_parent(blkid_parttable tab); +extern blkid_partlist blkid_probe_get_partitions(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); + +extern int blkid_partlist_numof_partitions(blkid_partlist ls) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_parttable blkid_partlist_get_table(blkid_partlist ls) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_partition blkid_partlist_get_partition(blkid_partlist ls, int n) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_partition blkid_partlist_devno_to_partition(blkid_partlist ls, dev_t devno) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_parttable blkid_partition_get_table(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern const char *blkid_partition_get_name(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern const char *blkid_partition_get_uuid(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_partition_get_partno(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_loff_t blkid_partition_get_start(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_loff_t blkid_partition_get_size(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_partition_get_type(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern const char *blkid_partition_get_type_string(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern unsigned long long blkid_partition_get_flags(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_partition_is_logical(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_partition_is_extended(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern int blkid_partition_is_primary(blkid_partition par) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern const char *blkid_parttable_get_type(blkid_parttable tab) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_loff_t blkid_parttable_get_offset(blkid_parttable tab) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); +extern blkid_partition blkid_parttable_get_parent(blkid_parttable tab) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); /* * NAME=value low-level interface */ -extern int blkid_do_probe(blkid_probe pr); -extern int blkid_do_safeprobe(blkid_probe pr); -extern int blkid_do_fullprobe(blkid_probe pr); - -extern int blkid_probe_numof_values(blkid_probe pr); +extern int blkid_do_probe(blkid_probe pr) + __ul_attribute__((nonnull)); +extern int blkid_do_safeprobe(blkid_probe pr) + __ul_attribute__((nonnull)); +extern int blkid_do_fullprobe(blkid_probe pr) + __ul_attribute__((nonnull)); + +extern int blkid_probe_numof_values(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); extern int blkid_probe_get_value(blkid_probe pr, int num, const char **name, - const char **data, size_t *len); + const char **data, size_t *len) + __ul_attribute__((nonnull(1))); extern int blkid_probe_lookup_value(blkid_probe pr, const char *name, - const char **data, size_t *len); -extern int blkid_probe_has_value(blkid_probe pr, const char *name); + const char **data, size_t *len) + __ul_attribute__((nonnull(1, 2))); +extern int blkid_probe_has_value(blkid_probe pr, const char *name) + __ul_attribute__((nonnull)) + __ul_attribute__((warn_unused_result)); -extern int blkid_do_wipe(blkid_probe pr, int dryrun); +extern int blkid_do_wipe(blkid_probe pr, int dryrun) + __ul_attribute__((nonnull)); /* * Deprecated functions/macros @@ -336,11 +490,25 @@ extern int blkid_do_wipe(blkid_probe pr, int dryrun); #define BLKID_PROBREQ_USAGE BLKID_SUBLKS_USAGE #define BLKID_PROBREQ_VERSION BLKID_SUBLKS_VERSION -extern int blkid_probe_set_request(blkid_probe pr, int flags); -extern int blkid_probe_filter_usage(blkid_probe pr, int flag, int usage); -extern int blkid_probe_filter_types(blkid_probe pr, int flag, char *names[]); -extern int blkid_probe_invert_filter(blkid_probe pr); -extern int blkid_probe_reset_filter(blkid_probe pr); +extern int blkid_probe_set_request(blkid_probe pr, int flags) + __ul_attribute__((nonnull)) + __ul_attribute__((deprecated)); + +extern int blkid_probe_filter_usage(blkid_probe pr, int flag, int usage) + __ul_attribute__((nonnull)) + __ul_attribute__((deprecated)); + +extern int blkid_probe_filter_types(blkid_probe pr, int flag, char *names[]) + __ul_attribute__((nonnull)) + __ul_attribute__((deprecated)); + +extern int blkid_probe_invert_filter(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((deprecated)); + +extern int blkid_probe_reset_filter(blkid_probe pr) + __ul_attribute__((nonnull)) + __ul_attribute__((deprecated)); #endif /* BLKID_DISABLE_DEPRECATED */ |