diff options
author | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2008-08-27 17:13:41 -0300 |
---|---|---|
committer | Claudio Takahasi <claudio.takahasi@openbossa.org> | 2008-08-28 19:06:20 -0300 |
commit | 506c95298346d318304aa7e2211dfba5dbe6e3e0 (patch) | |
tree | 62af6becaa65369986bdc25a31572841f972bd26 /src/storage.c | |
parent | 5ec5ef30ffd7e743499462bd7b3bfde0e65e2bb4 (diff) |
Storage cleanup
Diffstat (limited to 'src/storage.c')
-rw-r--r-- | src/storage.c | 39 |
1 files changed, 33 insertions, 6 deletions
diff --git a/src/storage.c b/src/storage.c index 7a9c5989..3cdc9113 100644 --- a/src/storage.c +++ b/src/storage.c @@ -45,7 +45,6 @@ #include <bluetooth/sdp_lib.h> #include "textfile.h" -#include "hcid.h" static inline int create_filename(char *buf, size_t size, const bdaddr_t *bdaddr, const char *name) { @@ -56,6 +55,35 @@ static inline int create_filename(char *buf, size_t size, const bdaddr_t *bdaddr return create_name(buf, size, STORAGEDIR, addr, name); } +int read_device_alias(const char *src, const char *dst, char *alias, size_t size) +{ + char filename[PATH_MAX + 1], *tmp; + int err; + + create_name(filename, PATH_MAX, STORAGEDIR, src, "aliases"); + + tmp = textfile_get(filename, dst); + if (!tmp) + return -ENXIO; + + err = snprintf(alias, size, "%s", tmp); + + free(tmp); + + return err; +} + +int write_device_alias(const char *src, const char *dst, const char *alias) +{ + char filename[PATH_MAX + 1]; + + create_name(filename, PATH_MAX, STORAGEDIR, src, "aliases"); + + create_file(filename, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); + + return textfile_put(filename, dst, alias); +} + int write_discoverable_timeout(bdaddr_t *bdaddr, int timeout) { char filename[PATH_MAX + 1], str[32]; @@ -270,15 +298,14 @@ int write_device_name(bdaddr_t *local, bdaddr_t *peer, char *name) return textfile_put(filename, addr, str); } -int read_device_name(bdaddr_t *local, bdaddr_t *peer, char *name) +int read_device_name(const char *src, const char *dst, char *name) { - char filename[PATH_MAX + 1], addr[18], *str; + char filename[PATH_MAX + 1], *str; int len; - create_filename(filename, PATH_MAX, local, "names"); + create_name(filename, PATH_MAX, STORAGEDIR, src, "names"); - ba2str(peer, addr); - str = textfile_get(filename, addr); + str = textfile_get(filename, dst); if (!str) return -ENOENT; |