// // Created by xemon on 28.11.22. // #ifndef UVEOS_ON_NATION_SMSENCODERDECODERPRIVATE_H #define UVEOS_ON_NATION_SMSENCODERDECODERPRIVATE_H #include "SmsEncoderDecoder.h" //SMS-SUBMIT-PDU /// SCA(Service Center Adress) /// PDU-Type(Protocol Data Unit Type) /// MR(Message Reference) /// DA(Destination Adress) /// PID(Protocol Identifier) /// DCS(Data Coding Scheme) /// VP(Validity Period) /// UDL(User Data Length) /// UD(User Data) tPDUS *tPDUDoEncoding(tSmsPdu *env, char *SCA, char *DA, char *UDC, tUDHS *udhs, tEnumDCS DCS); char *cSCADecoding(tSmsPdu *env, const char *data, int *EndIndex); char *cOADecoding(tSmsPdu *env, const char *data, int index, int *EndIndex); char *cSCTSDecoding(tSmsPdu *env, const char *data, int index); int iBCDDecoding(tSmsPdu *env, const char *data, int index, bool isMSB); tUDHS *tUDHDecoding(tSmsPdu *env, const char *data, int index); char *cUserDataDecoding(tSmsPdu *env, const char *data, int index, bool UDHI, tEnumDCS dcs, int *UDDL, uint16_t len); char *cBIT7Unpack(tSmsPdu *env, const char *data, int index, int Septets, int FillBits); char *cBIT7Decoding(tSmsPdu *env, char *BIT7Data, unsigned int size); int isBIT7Same(tSmsPdu *env, u_int16_t UCS2); int isGSMString(tSmsPdu *env, char *Data); tUDS *tUDCSplit(tSmsPdu *env, char *UDC, tUDHS *uhds, tEnumDCS DCS); int iGetUDHL(tSmsPdu *env, tUDHS *udhs); int iSeptetsLength(tSmsPdu *env, char *source); int iSeptetsToChars(tSmsPdu *env, char *source, int index, int septets); tUDHS *tUpdateUDH(tSmsPdu *env, tUDHS *udhs, int CSMMR, int total, int index); char *cSoloPDUEncoding(tSmsPdu *env, char *SCA, char *DA, char *UC, tUDHS *udhs, tEnumDCS DCS); char *cSCAEncoding(tSmsPdu *env, char *SCA); char *cPDUTypeEncoding(tSmsPdu *env, bool UDH); char *cMREncoding(tSmsPdu *env); char *cDAEncoding(tSmsPdu *env, char *DA); char *cPIDEncoding(tSmsPdu *env); char *cDCSEncoding(tSmsPdu *env, char *UD, tEnumDCS DCS); char *cUDEncoding(tSmsPdu *env, char *UD, tUDHS *udhs, tEnumDCS DCS); char *cUDHEncoding(tSmsPdu *env, tUDHS *udhs, int *UDHL); char *cUDCEncoding(tSmsPdu *env, char *UDC, int *UDCL, int UDHL, tEnumDCS DCS); tByteArray *tBIT7Encoding(tSmsPdu *env, char *UDC, int *Septets); char *cBIT7Pack(tSmsPdu *env, tByteArray *Bit7Array, int UDHL); void deleteUDS(tSmsPdu *env, tUDS *uds); void deletePdus(tSmsPdu *env, tPDUS *pdus); void deleteUDHS(tSmsPdu *env, tUDHS *udhs); #endif //UVEOS_ON_NATION_SMSENCODERDECODERPRIVATE_H