summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch')
-rw-r--r--meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch132
1 files changed, 0 insertions, 132 deletions
diff --git a/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch b/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
deleted file mode 100644
index faf0e8a382..0000000000
--- a/meta/recipes-connectivity/gsm/files/0005-Add-ask-ds-option-forSMS.patch
+++ /dev/null
@@ -1,132 +0,0 @@
1Upstream-Status: Inappropriate [not used]
2
3diff --git a/include/gsmd/usock.h b/include/gsmd/usock.h
4index 236ad78..66cdf48 100644
5--- a/include/gsmd/usock.h
6+++ b/include/gsmd/usock.h
7@@ -332,6 +332,7 @@ struct gsmd_sms {
8 struct gsmd_sms_submit {
9 struct gsmd_addr addr;
10 struct gsmd_sms payload;
11+ int ask_ds;
12 };
13
14 /* Refer to GSM 07.05 subclause 4.4 */
15diff --git a/include/libgsmd/sms.h b/include/libgsmd/sms.h
16index 3ada62d..9808442 100644
17--- a/include/libgsmd/sms.h
18+++ b/include/libgsmd/sms.h
19@@ -46,6 +46,7 @@ struct lgsm_sms {
20 enum gsmd_sms_alphabet alpha;
21 u_int8_t data[LGSM_SMS_DATA_MAXLEN+1];
22 int length;
23+ int ask_ds;
24 };
25
26 /* GSM 03.40 subclause 9.2.2.2 and GSM 07.05 subclause 4.4 and subclause 3.1 */
27diff --git a/src/gsmd/sms_pdu.c b/src/gsmd/sms_pdu.c
28index d1235dd..d461999 100644
29--- a/src/gsmd/sms_pdu.c
30+++ b/src/gsmd/sms_pdu.c
31@@ -247,7 +247,8 @@ int sms_pdu_make_smssubmit(char *dest, const struct gsmd_sms_submit *src)
32 GSMD_SMS_TP_MTI_SUBMIT |
33 (0 << 2) | /* Reject Duplicates: 0 */
34 GSMD_SMS_TP_VPF_NOT_PRESENT |
35- GSMD_SMS_TP_SRR_STATUS_REQUEST |
36+ (src->ask_ds ? GSMD_SMS_TP_SRR_STATUS_REQUEST :
37+ GSMD_SMS_TP_SRR_NOT_REQUEST) |
38 (src->payload.has_header ? GSMD_SMS_TP_UDHI_WITH_HEADER :
39 GSMD_SMS_TP_UDHI_NO_HEADER) |
40 GSMD_SMS_TP_RP_NOT_SET;
41diff --git a/src/libgsmd/libgsmd_sms.c b/src/libgsmd/libgsmd_sms.c
42index 22d7dbf..bbc8689 100644
43--- a/src/libgsmd/libgsmd_sms.c
44+++ b/src/libgsmd/libgsmd_sms.c
45@@ -126,6 +126,7 @@ int lgsm_sms_send(struct lgsm_handle *lh,
46 if (lgsm_number2addr(&gss->addr, sms->addr, 1))
47 return -EINVAL;
48
49+ gss->ask_ds = sms->ask_ds;
50 gss->payload.has_header = 0;
51 gss->payload.length = sms->length;
52 gss->payload.coding_scheme = sms->alpha;
53@@ -161,6 +162,7 @@ int lgsm_sms_write(struct lgsm_handle *lh,
54 if (lgsm_number2addr(&gsw->sms.addr, sms_write->sms.addr, 1))
55 return -EINVAL;
56
57+ gsw->sms.ask_ds = sms_write->sms.ask_ds;
58 gsw->sms.payload.has_header = 0;
59 gsw->sms.payload.length = sms_write->sms.length;
60 gsw->sms.payload.coding_scheme = sms_write->sms.alpha;
61diff --git a/src/util/shell.c b/src/util/shell.c
62index f902126..f26e17e 100644
63--- a/src/util/shell.c
64+++ b/src/util/shell.c
65@@ -355,7 +355,7 @@ static int shell_help(void)
66 "\tsd\tSMS Delete (sd=index,delflg)\n"
67 "\tsl\tSMS List (sl=stat)\n"
68 "\tsr\tSMS Read (sr=index)\n"
69- "\tss\tSMS Send (ss=number,text|[\"text\"])\n"
70+ "\tss\tSMS Send (ss=ask_ds,number,text|[\"text\"])\n"
71 "\tsw\tSMS Write (sw=stat,number,text)\n"
72 "\tsm\tSMS Storage stats\n"
73 "\tsM\tSMS Set preferred storage (sM=mem1,mem2,mem3)\n"
74@@ -563,33 +563,29 @@ int shell_main(struct lgsm_handle *lgsmh)
75 struct lgsm_sms sms;
76
77 ptr = strchr(buf, '=');
78+ sms.ask_ds = atoi(ptr+1);
79 fcomma = strchr(buf, ',');
80- if (!ptr || !fcomma) {
81- printf("Wrong command format\n");
82- } else {
83- strncpy(sms.addr, ptr+1, fcomma-ptr-1);
84- sms.addr[fcomma-ptr-1] = '\0';
85-
86- /* todo define \" to allow " in text */
87- if (fcomma[1] == '"' &&
88- !strchr(fcomma+2, '"')) {
89+ lcomma = strchr(fcomma+1, ',');
90+ strncpy(sms.addr, fcomma+1, lcomma-fcomma-1);
91+ sms.addr[lcomma-fcomma-1] = '\0';
92+ /* todo define \" to allow " in text */
93+ if (lcomma[1]=='"' &&
94+ !strchr(lcomma+2, '"')) {
95 /* read until closing '"' */
96 rc = fscanf(stdin, "%[^\"]\"",
97- fcomma+strlen(fcomma));
98+ lcomma+strlen(lcomma));
99 if (rc == EOF) {
100 printf("EOF\n");
101 return -1;
102 }
103 /* remove brackets */
104- fcomma++;
105- fcomma[strlen(fcomma)] = '\0';
106- }
107-
108- printf("Send SMS\n");
109- packing_7bit_character(fcomma+1, &sms);
110+ lcomma++;
111+ lcomma[strlen(lcomma)] = '\0';
112+ }
113+ printf("Send SMS\n");
114+ packing_7bit_character(lcomma+1, &sms);
115
116- lgsm_sms_send(lgsmh, &sms);
117- }
118+ lgsm_sms_send(lgsmh, &sms);
119 } else if ( !strncmp(buf, "sw", 2)) {
120 printf("Write SMS\n");
121 struct lgsm_sms_write sms_write;
122@@ -603,6 +599,7 @@ int shell_main(struct lgsm_handle *lgsmh)
123 sms_write.sms.addr[lcomma-fcomma-1] = '\0';
124 packing_7bit_character(
125 lcomma+1, &sms_write.sms);
126+ sms_write.sms.ask_ds = 0;
127
128 lgsm_sms_write(lgsmh, &sms_write);
129 } else if (!strncmp(buf, "sm", 2)) {
130--
1311.5.2.1
132