BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(libtzplatform-config)
BuildRequires: pkgconfig(capi-system-system-settings)
+BuildRequires: pkgconfig(mount)
%description
development package of library to get storage
#include <limits.h>
#include <sys/statvfs.h>
#include <tzplatform_config.h>
+#include <libmount.h>
#include "common.h"
#include "log.h"
+#define COMPAT_DIR "/opt/usr/media"
#ifndef __USE_FILE_OFFSET64
int __WEAK__ storage_get_internal_memory_size(struct statvfs *buf);
static const char *internal_get_root(void)
{
- return tzplatform_getenv(TZ_USER_CONTENT);
+ struct libmnt_table *t = NULL;
+ int r = 0;
+ struct libmnt_fs *fs;
+ const char *ret;
+
+ ret = tzplatform_getenv(TZ_USER_CONTENT);
+
+ t = mnt_new_table();
+ if(!t)
+ return ret;
+
+ r = mnt_table_parse_mtab(t, NULL);
+ if(r < 0){
+ mnt_free_table(t);
+ return ret;
+ }
+
+ fs = mnt_table_find_target(t,COMPAT_DIR,MNT_ITER_BACKWARD);
+ if(fs){
+ // TODO : mnt_fs_get_root(fs) should be matched to tzplatform_getenv(TZ_USER_CONTENT).
+ ret = COMPAT_DIR;
+ }
+
+ mnt_free_table(t);
+
+ return ret;
}
const struct storage_ops internal = {