summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2007-08-20 15:53:47 +0000
committerlaforge <laforge@99fdad57-331a-0410-800a-d7fa5415bdb3>2007-08-20 15:53:47 +0000
commit7814f977e3043f64c1a80f0449a2e26147510caf (patch)
treecc542b42be5f75cee5b07b7dbe2c6ab5ac59b3e4
parent18f5f4d70aecb6a6df8e0bf3e8a55b9a74b4ff68 (diff)
remove 'struct llist_head' from phonebook messages because
* pointer in data structures passed along sockets is a bad idea, if that socket is later a network socket and the pointer size of both ends is different * we cannot include linux_list.h into libgsmd, since libgsmd is LGPL and linux_list.h GPL licensed libgsmd and gsmd are actually not using that list header, only the shell program is effected massively. I hope somebody will clean up after me. At least this now should solve the issue with non-compiling libgsmd users (such as libmokogsmd). git-svn-id: http://svn.openmoko.org/trunk/src/target/gsm@2748 99fdad57-331a-0410-800a-d7fa5415bdb3
-rw-r--r--include/gsmd/usock.h4
-rw-r--r--src/util/shell.c10
2 files changed, 11 insertions, 3 deletions
diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h
index 19c616c..bfd4cd0 100644
--- a/include/gsmd/usock.h
+++ b/include/gsmd/usock.h
@@ -2,7 +2,6 @@
#define _GSMD_USOCK_H
#include <gsmd/event.h>
-#include <common/linux_list.h>
#define GSMD_UNIX_SOCKET "\0gsmd"
//#define GSMD_UNIX_SOCKET_TYPE SOCK_SEQPACKET
@@ -426,7 +425,6 @@ struct gsmd_phonebook_readrg {
#define GSMD_PB_NUMB_MAXLEN 44
#define GSMD_PB_TEXT_MAXLEN 14
struct gsmd_phonebook {
- struct llist_head list;
u_int8_t index;
char numb[GSMD_PB_NUMB_MAXLEN+1];
u_int8_t type;
@@ -474,7 +472,6 @@ struct gsmd_msg_prefoper {
};
struct gsmd_phonebook_storage {
- struct llist_head list;
char storage[3];
} __attribute__ ((packed));
@@ -510,6 +507,7 @@ struct gsmd_msg_hdr {
#include <gsmd/usock.h>
#include <gsmd/gsmd.h>
+#include <common/linux_list.h>
struct gsmd_user;
diff --git a/src/util/shell.c b/src/util/shell.c
index 19abba2..ae07afc 100644
--- a/src/util/shell.c
+++ b/src/util/shell.c
@@ -34,6 +34,8 @@
#include <gsmd/usock.h>
#include <gsmd/ts0705.h>
+#include <common/linux_list.h>
+
#ifndef __GSMD__
#define __GSMD__
#include <gsmd/talloc.h>
@@ -63,6 +65,7 @@ static int pb_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
char buf[128];
switch (gmh->msg_subtype) {
+#if 0
case GSMD_PHONEBOOK_FIND:
case GSMD_PHONEBOOK_READRG:
payload = (char *)gmh + sizeof(*gmh);
@@ -98,6 +101,7 @@ static int pb_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
else
printf("%s\n", payload);
break;
+#endif
case GSMD_PHONEBOOK_READ:
gp = (struct gsmd_phonebook *) ((char *)gmh + sizeof(*gmh));
if (gp->index)
@@ -111,6 +115,7 @@ static int pb_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
gps = (struct gsmd_phonebook_support *) ((char *)gmh + sizeof(*gmh));
printf("(1-%d), %d, %d\n", gps->index, gps->nlength, gps->tlength);
break;
+#if 0
case GSMD_PHONEBOOK_LIST_STORAGE:
payload = (char *)gmh + sizeof(*gmh);
@@ -151,6 +156,7 @@ static int pb_msghandler(struct lgsm_handle *lh, struct gsmd_msg_hdr *gmh)
else
printf("%s\n", payload);
break;
+#endif
case GSMD_PHONEBOOK_WRITE:
case GSMD_PHONEBOOK_DELETE:
case GSMD_PHONEBOOK_SET_STORAGE:
@@ -503,6 +509,7 @@ int shell_main(struct lgsm_handle *lgsmh)
printf("Delete Phonebook Entry\n");
ptr = strchr(buf, '=');
lgsm_pb_del_entry(lgsmh, atoi(ptr+1));
+#if 0
} else if ( !strncmp(buf, "prr", 3)) {
printf("Read Phonebook Entries\n");
struct lgsm_phonebook_readrg pb_readrg;
@@ -524,9 +531,11 @@ int shell_main(struct lgsm_handle *lgsmh)
ptr = strchr(buf, ',');
pb_readrg.index2 = atoi(ptr+1);
lgsm_pb_read_entries(lgsmh, &pb_readrg);
+#endif
} else if ( !strncmp(buf, "pr", 2)) {
ptr = strchr(buf, '=');
lgsm_pb_read_entry(lgsmh, atoi(ptr+1));
+#if 0
} else if ( !strncmp(buf, "pf", 2)) {
printf("Find Phonebook Entry\n");
struct lgsm_phonebook_find pb_find;
@@ -550,6 +559,7 @@ int shell_main(struct lgsm_handle *lgsmh)
pb_find.findtext[strlen(ptr+1)] = '\0';
lgsm_pb_find_entry(lgsmh, &pb_find);
+#endif
} else if ( !strncmp(buf, "pw", 2)) {
printf("Write Phonebook Entry\n");
struct lgsm_phonebook pb;
personal git repositories of Harald Welte. Your mileage may vary