summaryrefslogtreecommitdiffstats
path: root/src/storage.c
diff options
context:
space:
mode:
authorClaudio Takahasi <claudio.takahasi@openbossa.org>2008-08-27 17:13:41 -0300
committerClaudio Takahasi <claudio.takahasi@openbossa.org>2008-08-28 19:06:20 -0300
commit506c95298346d318304aa7e2211dfba5dbe6e3e0 (patch)
tree62af6becaa65369986bdc25a31572841f972bd26 /src/storage.c
parent5ec5ef30ffd7e743499462bd7b3bfde0e65e2bb4 (diff)
Storage cleanup
Diffstat (limited to 'src/storage.c')
-rw-r--r--src/storage.c39
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;