# HG changeset patch # User Mychaela Falconia # Date 1520547854 0 # Node ID 759cb6dc501b16249790cd3fba219b6c4eba0b1f # Parent d1fa771abeb85fcfd9f3b87a0051fcd46312355e uptools/libcoding: added function for generating SMS PDUs with 8-bit text diff -r d1fa771abeb8 -r 759cb6dc501b uptools/libcoding/Makefile --- a/uptools/libcoding/Makefile Thu Mar 08 20:33:03 2018 +0000 +++ b/uptools/libcoding/Makefile Thu Mar 08 22:24:14 2018 +0000 @@ -3,8 +3,8 @@ OBJS= alpha_addr.o decode_helpers.o grokdcs.o gsm7_decode.o \ gsm7_decode_tables.o gsm7_encode.o gsm7_encode_table.o gsm7_pack.o \ gsm7_unpack.o gsmtime.o hexdecode.o hexdump.o hexencode.o \ - number_decode.o number_encode.o scaddr.o sms_submit.o ucs2_decode.o \ - utf8_decode.o + number_decode.o number_encode.o scaddr.o sms_submit.o sms_submit8.o \ + ucs2_decode.o utf8_decode.o LIB= libcoding.a all: ${LIB} diff -r d1fa771abeb8 -r 759cb6dc501b uptools/libcoding/sms_submit8.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uptools/libcoding/sms_submit8.c Thu Mar 08 22:24:14 2018 +0000 @@ -0,0 +1,42 @@ +/* + * This library module implements the function for constructing outgoing + * SMS-SUBMIT PDUs, 8-bit version for raw data or UCS-2. + */ + +#include +#include + +make_sms_submit_pdu_8bit(da, pid, dcs, textsrc, textlen, udh, udhl, outbuf) + u_char *da, *textsrc, *udh, *outbuf; + unsigned textlen, udhl; +{ + u_char *outp = outbuf; + unsigned addr_field_len; + unsigned udh_octets; + unsigned udl; + + if (udh) + *outp++ = 0x41; + else + *outp++ = 0x01; + *outp++ = 0; + addr_field_len = ((da[0] + 1) >> 1) + 2; + bcopy(da, outp, addr_field_len); + outp += addr_field_len; + *outp++ = pid; + *outp++ = dcs; + if (udh) + udh_octets = udhl + 1; + else + udh_octets = 0; + udl = udh_octets + textlen; + *outp++ = udl; + if (udh) { + *outp++ = udhl; + bcopy(udh, outp, udhl); + outp += udhl; + } + bcopy(textsrc, outp, textlen); + outp += textlen; + return (outp - outbuf); +}