diff options
author | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-01-10 15:21:34 +0100 |
---|---|---|
committer | Holger Hans Peter Freyther <zecke@selfish.org> | 2011-01-10 15:21:34 +0100 |
commit | c464491b0be0fb9b845ae6aababddc1b17ffda30 (patch) | |
tree | fe7bb6a9ac00827ccf85a2317225f82f30b079ad /openbsc | |
parent | 368a0a73d4f673c9baa8dc61585e7868fea923c3 (diff) |
sms: Move the sms_from_text to gsm_04_11
Move the SMS from text code from the VTY interface into the
gsm_04_11.c code next to the sms_alloc and sms_free.
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/include/openbsc/gsm_04_11.h | 1 | ||||
-rw-r--r-- | openbsc/src/gsm_04_11.c | 25 | ||||
-rw-r--r-- | openbsc/src/token_auth.c | 3 | ||||
-rw-r--r-- | openbsc/src/vty_interface_layer3.c | 24 |
4 files changed, 26 insertions, 27 deletions
diff --git a/openbsc/include/openbsc/gsm_04_11.h b/openbsc/include/openbsc/gsm_04_11.h index 20787788a..06fd04e60 100644 --- a/openbsc/include/openbsc/gsm_04_11.h +++ b/openbsc/include/openbsc/gsm_04_11.h @@ -29,6 +29,7 @@ int gsm0411_rcv_sms(struct gsm_subscriber_connection *conn, struct msgb *msg); struct gsm_sms *sms_alloc(void); void sms_free(struct gsm_sms *sms); +struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text); void _gsm411_sms_trans_free(struct gsm_trans *trans); int gsm411_send_sms_subscr(struct gsm_subscriber *subscr, diff --git a/openbsc/src/gsm_04_11.c b/openbsc/src/gsm_04_11.c index fc9b0862c..a7c6f667d 100644 --- a/openbsc/src/gsm_04_11.c +++ b/openbsc/src/gsm_04_11.c @@ -117,6 +117,31 @@ void sms_free(struct gsm_sms *sms) talloc_free(sms); } +struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text) +{ + struct gsm_sms *sms = sms_alloc(); + + if (!sms) + return NULL; + + sms->receiver = subscr_get(receiver); + strncpy(sms->text, text, sizeof(sms->text)-1); + + /* FIXME: don't use ID 1 static */ + sms->sender = subscr_get_by_id(receiver->net, 1); + sms->reply_path_req = 0; + sms->status_rep_req = 0; + sms->ud_hdr_ind = 0; + sms->protocol_id = 0; /* implicit */ + sms->data_coding_scheme = 0; /* default 7bit */ + strncpy(sms->dest_addr, receiver->extension, sizeof(sms->dest_addr)-1); + /* Generate user_data */ + sms->user_data_len = gsm_7bit_encode(sms->user_data, sms->text); + + return sms; +} + + static void send_signal(int sig_no, struct gsm_trans *trans, struct gsm_sms *sms, diff --git a/openbsc/src/token_auth.c b/openbsc/src/token_auth.c index f9a583954..733ea7173 100644 --- a/openbsc/src/token_auth.c +++ b/openbsc/src/token_auth.c @@ -32,9 +32,6 @@ #define TOKEN_SMS_TEXT "HAR 2009 GSM. Register at http://har2009.gnumonks.org/ " \ "Your IMSI is %s, auth token is %08X, phone no is %s." -extern struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, - const char *text); - static char *build_sms_string(struct gsm_subscriber *subscr, u_int32_t token) { char *sms_str; diff --git a/openbsc/src/vty_interface_layer3.c b/openbsc/src/vty_interface_layer3.c index 3c888dbc5..d13031ba1 100644 --- a/openbsc/src/vty_interface_layer3.c +++ b/openbsc/src/vty_interface_layer3.c @@ -141,30 +141,6 @@ DEFUN(sms_send_pend, return CMD_SUCCESS; } -struct gsm_sms *sms_from_text(struct gsm_subscriber *receiver, const char *text) -{ - struct gsm_sms *sms = sms_alloc(); - - if (!sms) - return NULL; - - sms->receiver = subscr_get(receiver); - strncpy(sms->text, text, sizeof(sms->text)-1); - - /* FIXME: don't use ID 1 static */ - sms->sender = subscr_get_by_id(receiver->net, 1); - sms->reply_path_req = 0; - sms->status_rep_req = 0; - sms->ud_hdr_ind = 0; - sms->protocol_id = 0; /* implicit */ - sms->data_coding_scheme = 0; /* default 7bit */ - strncpy(sms->dest_addr, receiver->extension, sizeof(sms->dest_addr)-1); - /* Generate user_data */ - sms->user_data_len = gsm_7bit_encode(sms->user_data, sms->text); - - return sms; -} - static int _send_sms_str(struct gsm_subscriber *receiver, char *str, u_int8_t tp_pid) { |