aboutsummaryrefslogtreecommitdiffstats
path: root/include/openbsc
diff options
context:
space:
mode:
authorJan Luebbe <jluebbe@lasnet.de>2008-12-27 15:59:25 +0000
committerJan Luebbe <jluebbe@lasnet.de>2008-12-27 15:59:25 +0000
commit5c15c85be32079031330354a56951cabe6a4f7ec (patch)
tree3be141c8758ca3f16430a099e8a2dadf1afd26aa /include/openbsc
parentb332f61f0d79b4285e0d872f79d99e4046ef8d4b (diff)
rewrite db backend
Diffstat (limited to 'include/openbsc')
-rw-r--r--include/openbsc/db.h22
-rw-r--r--include/openbsc/gsm_subscriber.h17
2 files changed, 18 insertions, 21 deletions
diff --git a/include/openbsc/db.h b/include/openbsc/db.h
index 9501ec8f3..d102dfe59 100644
--- a/include/openbsc/db.h
+++ b/include/openbsc/db.h
@@ -20,27 +20,17 @@
#ifndef _DB_H
#define _DB_H
-#include <stdint.h>
+#include <sys/types.h>
-#define NUMBER_LENGTH 32
-
-typedef struct {
- uint64_t imsi;
- uint64_t tmsi;
- char number[NUMBER_LENGTH];
- uint16_t lac;
-} db_subscriber;
+#include <openbsc/gsm_subscriber.h>
int db_init();
int db_prepare();
int db_fini();
-int db_insert_imei(uint64_t imei);
-
-int db_insert_imsi(uint64_t imsi);
-int db_imsi_set_tmsi(uint64_t imsi, uint64_t tmsi);
-int db_imsi_set_lac(uint64_t imsi, uint16_t lac);
-int db_imsi_get_subscriber(uint64_t imsi, db_subscriber* subscriber);
-int db_tmsi_get_subscriber(uint64_t tmsi, db_subscriber* subscriber);
+struct gsm_subscriber* db_create_subscriber(char imsi[GSM_IMSI_LENGTH]);
+int db_get_subscriber(enum gsm_subscriber_field field, struct gsm_subscriber* subscriber);
+int db_set_subscriber(struct gsm_subscriber* subscriber);
+int db_subscriber_alloc_tmsi(struct gsm_subscriber* subscriber);
#endif /* _DB_H */
diff --git a/include/openbsc/gsm_subscriber.h b/include/openbsc/gsm_subscriber.h
index 5bdf57952..d2c0d4f71 100644
--- a/include/openbsc/gsm_subscriber.h
+++ b/include/openbsc/gsm_subscriber.h
@@ -4,13 +4,20 @@
#include <sys/types.h>
#include "gsm_data.h"
+#define GSM_IMSI_LENGTH 17
+#define GSM_TMSI_LENGTH 17
+#define GSM_NAME_LENGTH 128
+
struct gsm_subscriber {
- char *name;
- u_int8_t tmsi[4];
+ char imsi[GSM_IMSI_LENGTH];
+ char tmsi[GSM_TMSI_LENGTH];
+ u_int16_t lac;
+ char name[GSM_NAME_LENGTH];
};
-struct gsm_subscriber *subscr_get_by_tmsi(u_int8_t *tmsi);
-struct gsm_subscriber *subscr_get_by_imsi(u_int8_t *imsi);
-int subscr_update(struct gsm_subscriber *s, struct gsm_bts *bts);
+enum gsm_subscriber_field {
+ GSM_SUBSCRIBER_IMSI,
+ GSM_SUBSCRIBER_TMSI,
+};
#endif /* _GSM_SUBSCR_H */