diff options
author | Jan Luebbe <jluebbe@lasnet.de> | 2008-12-27 15:59:25 +0000 |
---|---|---|
committer | Jan Luebbe <jluebbe@lasnet.de> | 2008-12-27 15:59:25 +0000 |
commit | 5c15c85be32079031330354a56951cabe6a4f7ec (patch) | |
tree | 3be141c8758ca3f16430a099e8a2dadf1afd26aa /include | |
parent | b332f61f0d79b4285e0d872f79d99e4046ef8d4b (diff) |
rewrite db backend
Diffstat (limited to 'include')
-rw-r--r-- | include/openbsc/db.h | 22 | ||||
-rw-r--r-- | include/openbsc/gsm_subscriber.h | 17 |
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 */ |