|  |  |  | libmount Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
struct libmnt_cache; struct libmnt_cache * mnt_new_cache (void); void mnt_free_cache (struct libmnt_cache *cache); int mnt_cache_device_has_tag (struct libmnt_cache *cache,const char *devname,const char *token,const char *value); char * mnt_cache_find_tag_value (struct libmnt_cache *cache,const char *devname,const char *token); int mnt_cache_read_tags (struct libmnt_cache *cache,const char *devname); char * mnt_get_fstype (const char *devname,int *ambi,struct libmnt_cache *cache); char * mnt_pretty_path (const char *path,struct libmnt_cache *cache); char * mnt_resolve_path (const char *path,struct libmnt_cache *cache); char * mnt_resolve_spec (const char *spec,struct libmnt_cache *cache); char * mnt_resolve_tag (const char *token,const char *value,struct libmnt_cache *cache);
The cache is a very simple API for work with tags (LABEL, UUID, ...) and paths. The cache uses libblkid as a backend for TAGs resolution.
All returned paths are always canonicalized.
struct libmnt_cache * mnt_new_cache                     (void);
| Returns : | new struct libmnt_cache instance or NULL in case of ENOMEM error. | 
void                mnt_free_cache                      (struct libmnt_cache *cache);
Deallocates the cache.
| 
 | pointer to struct libmnt_cache instance | 
int mnt_cache_device_has_tag (struct libmnt_cache *cache,const char *devname,const char *token,const char *value);
Look up cache to check it tag+value are associated with devname.
| 
 | paths cache | 
| 
 | path to the device | 
| 
 | tag name (e.g "LABEL") | 
| 
 | tag value | 
| Returns : | 1 on success or 0. | 
char * mnt_cache_find_tag_value (struct libmnt_cache *cache,const char *devname,const char *token);
| 
 | cache for results | 
| 
 | device name | 
| 
 | tag name ("LABEL" or "UUID") | 
| Returns : | LABEL or UUID for the devnameor NULL in case of error. | 
int mnt_cache_read_tags (struct libmnt_cache *cache,const char *devname);
Reads devname LABEL and UUID to the cache.
| 
 | pointer to struct libmnt_cache instance | 
| 
 | path device | 
| Returns : | 0 if at least one tag was added, 1 if no tag was added or negative number in case of error. | 
char * mnt_get_fstype (const char *devname,int *ambi,struct libmnt_cache *cache);
| 
 | device name | 
| 
 | returns TRUE if probing result is ambivalent (optional argument) | 
| 
 | cache for results or NULL | 
| Returns : | filesystem type or NULL in case of error. The result has to be
deallocated by free()ifcacheis NULL. | 
char * mnt_pretty_path (const char *path,struct libmnt_cache *cache);
Converts path:
to the absolute path
/dev/dm-N to /dev/mapper/name
/dev/loopN to the loop backing filename
empty path (NULL) to 'none'
| 
 | any path | 
| 
 | NULL or pointer to the cache | 
| Returns : | new allocated string with path, result has to be always deallocated
by free(). | 
char * mnt_resolve_path (const char *path,struct libmnt_cache *cache);
Converts path:
to the absolute path
/dev/dm-N to /dev/mapper/name
| 
 | "native" path | 
| 
 | cache for results or NULL | 
| Returns : | absolute path or NULL in case of error. The result has to be
deallocated by free()ifcacheis NULL. | 
char * mnt_resolve_spec (const char *spec,struct libmnt_cache *cache);
| 
 | path or tag | 
| 
 | paths cache | 
| Returns : | canonicalized path or NULL. The result has to be
deallocated by free()ifcacheis NULL. |