18 #ifdef GSM_ENABLE_NOKIA7110 25 #include "../../../misc/coding/coding.h" 26 #include "../../../gsmcomon.h" 27 #include "../../../service/gsmlogo.h" 28 #include "../../../service/gsmring.h" 29 #include "../../../service/gsmnet.h" 30 #include "../../../service/sms/gsmmulti.h" 31 #include "../../pfunc.h" 33 #include "../nfuncold.h" 51 smprintf(s,
"Phonebook entry received\n");
53 if (msg->
Buffer[6] == 0x0f)
75 smprintf(s,
"Getting phonebook entry\n");
83 smprintf(s,
"Memory status received\n");
85 if (msg->
Buffer[10]==0x10) {
107 smprintf(s,
"Getting memory status\n");
118 *folderid = (ifolderid + 1) * 0x08;
121 *folderid = sms->
Folder * 0x08;
124 smprintf(s,
"SMS folder %i & location %i -> 7110 folder %i & location %i\n",
132 smprintf(s,
"7110 folder %i & location %i -> SMS folder %i & location %i\n",
139 unsigned char buffer[200];
144 smprintf(s,
"Names for SMS folders received\n");
146 for (j=0;j<msg->
Buffer[4];j++) {
169 smprintf(s,
"Security error ? No PIN ?\n");
172 smprintf(s,
"Wait a moment. Phone is during power on and busy now\n");
183 smprintf(s,
"Getting SMS folders\n");
192 smprintf(s,
"SMS folder status received\n");
199 smprintf(s,
"Increase GSM_PHONE_MAXSMSINFOLDER\n");
217 smprintf(s,
"Getting SMS folder status\n");
227 error = N7110_PrivGetSMSFolderStatus(s,folderid);
230 if (folderid==0x08 && error==
ERR_NONE) {
232 error = N7110_PrivGetSMSFolderStatus(s,0xf8);
234 for (i=0;i<folder.
Number;i++) {
253 size_t Width, Height;
254 unsigned char output[500], output2[500];
318 output[i++] = Height;
348 smprintf(s,
"Too high location ?\n");
357 smprintf(s,
"SMS message info received\n");
373 unsigned char folderid;
374 unsigned int location;
384 N7110_GetSMSLocation(s, &sms->
SMS[0], &folderid, &location);
387 req[5]=location / 256;
388 req[6]=location % 256;
394 NameReq[4] = folderid;
395 NameReq[5] = location / 256;
396 NameReq[6] = location;
399 if (error !=
ERR_NONE)
return error;
400 for (i=0;i<sms->
Number;i++) {
401 N7110_SetSMSLocation(s, &sms->
SMS[i], folderid, location);
407 if (folderid/0x08 == 0x01 || folderid/0x08 == 0x02) {
409 if (folderid/0x08 == 0x01) {
415 if (folderid/0x08 == 0x02) {
430 unsigned char folderid;
431 unsigned int location;
436 N7110_GetSMSLocation(s, &(sms->
SMS[0]), &folderid, &location);
437 error=N7110_GetSMSFolderStatus(s, folderid);
446 return N7110_PrivGetSMSMessage(s,sms);
452 unsigned char folderid;
453 unsigned int location;
464 N7110_GetSMSLocation(s, &(sms->
SMS[0]), &folderid, &location);
475 if (findnextfolder) {
478 folderid=folderid+0x08;
482 error=N7110_GetSMSFolderStatus(s, folderid);
488 N7110_SetSMSLocation(s, &sms->
SMS[0], folderid, location);
490 return N7110_PrivGetSMSMessage(s, sms);
493 static int N7110_ReturnBinaryRingtoneLocation(
char *model)
495 if (strcmp(model,
"NSE-5") == 0)
return 0x72;
496 if (strcmp(model,
"NPE-3") == 0)
return 0x89;
497 if (strcmp(model,
"NHM-3") == 0)
return 0x89;
535 smprintf(s,
"Invalid location. Too high ?\n");
548 switch (Ringtone->
Format) {
555 smprintf(s,
"Getting binary ringtone\n");
569 smprintf(s,
"Received info for Picture Images\n");
586 int i, j = 0, count = 0;
595 error=N7110_GetSMSFolders (s, &folders);
598 for (i=0;i<folders.
Number;i++) {
599 req[4] = (i+1) * 0x08;
609 *folder = (i+1) * 0x08;
616 unsigned char folder;
624 error = N7110_GetPictureImageLocation(s, Bitmap, &folder, &location);
628 req[5] = location / 256;
629 req[6] = location % 256;
643 switch (Bitmap->
Type) {
645 smprintf(s,
"Getting startup logo\n");
648 smprintf(s,
"Getting welcome note\n");
651 smprintf(s,
"Getting dealer note\n");
656 smprintf(s,
"Getting caller group logo\n");
657 error=N7110_GetMemory(s,&pbk);
661 smprintf(s,
"Getting operator logo\n");
667 return N7110_GetPictureImage(s, Bitmap);
680 unsigned char req[1000] = {0x7C, 0x01, 0x00, 0x0D, 0x00,
681 0x00, 0x00, 0x00, 0x00, 0x00,
685 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
686 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
687 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
688 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
689 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
691 switch (Ringtone->
Format) {
730 smprintf(s,
"SMS message saving status\n");
732 if (msg->
Buffer[4] == 0xf8) {
741 smprintf(s,
"SMS message saving status\n");
744 smprintf(s,
"Too high location ?\n");
753 if (msg->
Buffer[4] == 0xf8) {
768 unsigned int location;
769 unsigned char folderid, folder;
778 switch (sms->
State) {
779 case SMS_Read : req[4] = 0x01;
break;
781 case SMS_Sent : req[4] = 0x05;
break;
785 N7110_GetSMSLocation(s, sms, &folderid, &location);
787 req[6] = location / 256;
788 req[7] = location % 256;
807 smprintf(s,
"Saving SMS template\n");
814 if (error !=
ERR_NONE)
return error;
822 N7110_GetSMSLocation(s, sms, &folderid, &location);
824 NameReq[length++] = folderid;
825 NameReq[length++] = location / 256;
826 NameReq[length++] = location % 256;
829 NameReq[length++] = 0;
830 NameReq[length++] = 0;
839 unsigned int location;
840 unsigned char folderid;
842 N7110_GetSMSLocation(s, sms, &folderid, &location);
844 return N7110_PrivSetSMSMessage(s, sms);
849 unsigned int location;
850 unsigned char folderid;
852 N7110_GetSMSLocation(s, sms, &folderid, &location);
854 N7110_SetSMSLocation(s, sms, folderid, location);
855 return N7110_PrivSetSMSMessage(s, sms);
860 smprintf(s,
"Clearing operator logo.....\n");
866 smprintf(s,
"Setting operator logo.....\n");
873 size_t Width, Height;
874 unsigned int count = 18;
877 0x01, 0x01, 0x00, 0x00, 0x0c,
909 memcpy(
string + 1, bitmap->
Text, i);
942 unsigned char folder;
944 int location, i, count;
945 size_t Width, Height;
952 error=N7110_GetPictureImageLocation(s, Bitmap, &folder, &location);
956 req[6] = location / 256;
957 req[7] = location % 256;
969 for (i=0;i<36;i++) req[i+9]=0;
973 count+=2 ;req[count]=0x0c;
974 count+=2 ;req[count]=0x0d;
975 count+=2 ;req[count]=0x0e;
976 count+=2 ;req[count]=0x0f;
977 count+=2 ;req[count]=0x10;
978 count+=2 ;req[count]=0x11;
979 count+=23;req[count]=0x02;
982 count+=2 ;req[count]=0x54;
983 count++ ;req[count]=0xd4;
984 count++ ;req[count]=0x0d;
985 count+=2 ;req[count]=0x0e;
986 count+=2 ;req[count]=0x0f;
987 count+=2 ;req[count]=0x10;
988 count+=2 ;req[count]=0x11;
989 count+=21;req[count]=0x01;
996 req[count++] = Width;
997 req[count++] = Height;
1005 count = count + req[count];
1010 smprintf(s,
"Setting Picture Image\n");
1018 size_t Width, Height, i;
1021 0x00, 0x00, 0x00, 0x04, 0xc0, 0x02, 0x00,
1025 0xc0, 0x04, 0x03, 0x00};
1035 unsigned char reqClrOp[] = {0x00, 0x01, 0x00, 0xaf, 0x00};
1039 switch (Bitmap->
Type) {
1045 reqStartup[12] = Height;
1046 reqStartup[16] = Width;
1048 smprintf(s,
"Setting startup logo\n");
1053 reqStartupText[i++] = 0;
1054 reqStartupText[i++] = 0;
1057 reqStartupText[4] = 0x17;
1060 reqStartupText[i++] = 0;
1061 reqStartupText[i++] = 0;
1075 smprintf(s,
"Setting operator logo\n");
1078 smprintf(s,
"Clearing operator logo\n");
1087 return N7110_SetCallerLogo(s,Bitmap);
1089 return N7110_SetPictureImage(s,Bitmap);
1098 smprintf(s,
"Phonebook entry deleted\n");
1105 0x04, 0x00, 0x00, 0x0c, 0x01, 0xff,
1116 smprintf(s,
"Deleting phonebook entry\n");
1125 0x01, 0x01, 0x00, 0x00, 0x0c,
1141 smprintf(s,
"Writing phonebook entry\n");
1147 unsigned char folderid;
1148 unsigned int location;
1154 N7110_GetSMSLocation(s, sms, &folderid, &location);
1156 req[5] = location / 256;
1157 req[6] = location % 256;
1167 smprintf(s,
"SMS status received\n");
1168 switch (msg->
Buffer[3]) {
1195 if (error !=
ERR_NONE)
return error;
1200 error = N7110_GetSMSFolderStatus(s, 0x20);
1201 if (error !=
ERR_NONE)
return error;
1211 switch (msg->
Buffer[3]) {
1214 switch (msg->
Buffer[6]) {
1246 unsigned char Features[12] = {0x00,0x02,0x03,0x04,0x05,0x06,
1247 0x07,0x08,0x09,0xff,
1263 for (i = 0; i < 10; i++) {
1265 req[8] = Features[i];
1266 smprintf(s,
"Getting profile feature\n");
1277 smprintf(s,
"Profile feature set\n");
1286 unsigned char ID,Value;
1312 smprintf(s,
"Setting profile feature\n");
1330 smprintf(s,
"Getting speed dial\n");
1331 error=N7110_GetMemory(s,&pbk);
1334 smprintf(s,
"No speed dials set in phone\n");
1338 smprintf(s,
"Speed dial not assigned or error in firmware\n");
1353 smprintf(s,
"SMS message received\n");
1373 #ifdef GSM_ENABLE_N71_92INCOMINGINFO 1426 smprintf(s,
"Probably means no PIN\n");
1432 #ifndef GSM_ENABLE_N71_92INCOMINGINFO 1441 #ifndef GSM_ENABLE_N71_92INCOMINGINFO 1450 #ifndef GSM_ENABLE_N71_92INCOMINGINFO 1508 {N7110_ReplyIncomingSMS,
"\x02",0x03,0x10,ID_IncomingFrame },
1509 #ifdef GSM_ENABLE_CELLBROADCAST 1511 {DCT3_ReplySetIncomingCB,
"\x02",0x03,0x22,ID_SetIncomingCB },
1512 {DCT3_ReplyIncomingCB,
"\x02",0x03,0x23,ID_IncomingFrame },
1517 #ifdef GSM_ENABLE_CELLBROADCAST 1518 {DCT3_ReplySetIncomingCB,
"\x02",0x03,0xCA,ID_SetIncomingCB },
1522 {N7110_ReplyGetMemory,
"\x03",0x03,0x08,
ID_GetMemory },
1525 {N7110_ReplyDeleteMemory,
"\x03",0x03,0x10,ID_SetMemory },
1528 {
NoneReply,
"\x06",0x03,0x06,ID_IncomingFrame },
1536 {N7110_ReplyGetNetworkInfoError,
"\x0A",0x03,0x72,ID_GetNetworkInfo },
1539 {N7110_ReplySetOperatorLogo,
"\x0A",0x03,0xA4,ID_SetBitmap },
1540 {N7110_ReplyClearOperatorLogo,
"\x0A",0x03,0xB0,ID_SetBitmap },
1541 {
NoneReply,
"\x0A",0x03,0xB5,ID_IncomingFrame },
1556 {N71_65_ReplyGetNextCalendar2,
"\x13",0x03,0x3F,ID_GetCalendarNote },
1561 {N7110_ReplySaveSMSMessage,
"\x14",0x03,0x06,ID_SaveSMSMessage },
1563 {N7110_ReplyGetSMSMessage,
"\x14",0x03,0x08,ID_GetBitmap },
1564 {N7110_ReplyGetSMSMessage,
"\x14",0x03,0x09,ID_GetSMSMessage },
1568 {N7110_ReplyGetSMSStatus,
"\x14",0x03,0x38,ID_GetSMSStatus },
1569 {N7110_ReplySetPicture,
"\x14",0x03,0x51,ID_SetBitmap },
1571 {N7110_ReplyGetSMSMessage,
"\x14",0x03,0x6F,ID_GetSMSMessage },
1573 {N7110_ReplyGetSMSFolders,
"\x14",0x03,0x7C,ID_GetSMSFolders },
1574 {N7110_ReplySaveSMSMessage,
"\x14",0x03,0x84,ID_SaveSMSMessage },
1575 {N7110_ReplyGetPictureImageInfo,
"\x14",0x03,0x97,ID_GetBitmap },
1576 {N7110_ReplyGetSMSFolders,
"\x14",0x03,0xCA,ID_GetSMSFolders },
1586 {N7110_ReplyGetRingtone,
"\x1f",0x03,0x24,ID_GetRingtone },
1608 {N7110_ReplyGetProfileFeature,
"\x39",0x03,0x02,
ID_GetProfile },
1609 {N7110_ReplySetProfileFeature,
"\x39",0x03,0x04,
ID_SetProfile },
1624 {
NoneReply,
"\x40",0x02,0xFF,ID_IncomingFrame },
1638 {NULL,
"\x00",0x00,0x00,
ID_None }
1642 "6210|6250|7110|7190",
1643 N7110ReplyFunctions,
1678 N7110_GetMemoryStatus,
1690 N7110_GetSMSMessage,
1691 N7110_GetNextSMSMessage,
1698 N7110_SetIncomingSMS,
1700 N7110_GetSMSFolders,
1714 N7110_SetCallDivert,
1715 N7110_CancelAllDiverts,
1716 N7110_SetIncomingCall,
1717 N7110_SetIncomingUSSD,
1746 N7110_GetCalendarStatus,
1748 N7110_GetNextCalendar,
GSM_Error DCT3DCT4_ReplyGetActiveConnectSet(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_65_ReplyDelCalendar(GSM_Protocol_Message *msg, GSM_StateMachine *s)
unsigned char Name[(GSM_MAX_RINGTONE_NAME_LENGTH+1) *2]
GSM_Profile_Feat_ID FeatureID[15]
GSM_NOKIASMSFolder LastPictureImageFolder
char * DecodeUnicodeString(const unsigned char *src)
size_t PHONE_GetBitmapSize(GSM_Phone_Bitmap_Types Type, size_t Width, size_t Height)
GSM_RingtoneFormat Format
GSM_Error DCT3DCT4_GetModel(GSM_StateMachine *s)
unsigned char Number[(GSM_MAX_NUMBER_LENGTH+1) *2]
void CopyUnicodeString(unsigned char *Dest, const unsigned char *Source)
void NOKIA_DecodeSMSState(GSM_StateMachine *s, unsigned char state, GSM_SMSMessage *sms)
void DecodeDefault(unsigned char *dest, const unsigned char *src, size_t len, gboolean UseExtensions, unsigned char *ExtraAlphabet)
GSM_Error N71_92_ReplyGetBatteryCharge(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N61_71_ReplyResetPhoneSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void NOKIA_SortSMSFolderStatus(GSM_StateMachine *s, GSM_NOKIASMSFolder *Folder)
GSM_Error DCT3_CancelCall(GSM_StateMachine *s, int ID, gboolean all)
GSM_Error NOKIA_SetIncomingUSSD(GSM_StateMachine *s, gboolean enable)
GSM_Error DCT3_PressKey(GSM_StateMachine *s, GSM_KeyCode Key, gboolean Press)
GSM_MemoryType MemoryType
GSM_Error DCT3_ReplyGetWAPSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
#define GSM_PHONE_MAXSMSINFOLDER
GSM_Error DCT3_ReplyGetIMEI(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetDateTime(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_DialVoice(GSM_StateMachine *s, char *number, GSM_CallShowNumber ShowNumber)
GSM_Error DCT3_ReplyPlayTone(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_DecodeSMSFrame(GSM_StateMachine *s, GSM_SMSMessage *SMS, unsigned char *buffer)
#define N6110_FRAME_HEADER
GSM_Error DCT3_ReplySIMLogin(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_92_SetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_MemoryType NOKIA_GetMemoryType(GSM_StateMachine *s, GSM_MemoryType memory_type, unsigned char *ID)
GSM_SMSMemoryStatus * SMSStatus
GSM_Error DCT3_GetPPM(GSM_StateMachine *s, char *value)
GSM_Error N71_65_DelCalendar(GSM_StateMachine *s, GSM_CalendarEntry *Note)
GSM_MultiSMSMessage * GetSMSMessage
GSM_Error N71_65_GetCalendarInfo1(GSM_StateMachine *s, GSM_NOKIACalToDoLocations *LastCalendar)
unsigned char Sender[2 *(GSM_MAX_NUMBER_LENGTH+1)]
GSM_Error DCT3_ReplyDialCommand(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyEnableSecurity(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error GSM_DispatchMessage(GSM_StateMachine *s)
GSM_Error GSM_DecodeSMSFrame(GSM_Debug_Info *di, GSM_SMSMessage *SMS, unsigned char *buffer, GSM_SMSMessageLayout Layout)
int GSM_PackSevenBitsToEight(size_t offset, const unsigned char *input, unsigned char *output, size_t length)
GSM_Error DCT3_GetWAPSettings(GSM_StateMachine *s, GSM_MultiWAPSettings *settings)
void PHONE_EncodeBitmap(GSM_Phone_Bitmap_Types Type, char *buffer, GSM_Bitmap *Bitmap)
GSM_Error DCT3DCT4_ReplyEnableConnectFunc(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void NOKIA_FindFeatureValue(GSM_StateMachine *s, GSM_Profile_PhoneTableValue ProfileTable[], unsigned char ID, unsigned char Value, GSM_Phone_Data *Data, gboolean CallerGroups)
GSM_SMSFolders LastSMSFolders
GSM_OneSMSFolder Folder[GSM_MAX_SMS_FOLDERS]
GSM_Error NoneReply(GSM_Protocol_Message *msg UNUSED, GSM_StateMachine *s)
GSM_Error DCT3DCT4_ReplyDisableConnectFunc(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_65_ReplyCallInfo(GSM_Protocol_Message *msg, GSM_StateMachine *s)
size_t UnicodeLength(const unsigned char *str)
GSM_Error N71_65_ReplyGetCalendarNotePos1(GSM_Protocol_Message *msg, GSM_StateMachine *s, int *FirstCalendarPos)
GSM_SMSMessageLayout PHONE_SMSDeliver
GSM_Error N71_65_ReplyAddCalendar1(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void PHONE_DecodeBitmap(GSM_Phone_Bitmap_Types Type, char *buffer, GSM_Bitmap *Bitmap)
GSM_Error PHONE_Terminate(GSM_StateMachine *s)
GSM_Error DCT3_Reset(GSM_StateMachine *s, gboolean hard)
GSM_Error(* WriteMessage)(GSM_StateMachine *s, unsigned const char *buffer, int length, int type)
GSM_Error DCT3_ReplyDeleteSMSMessage(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplySetAlarm(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error NOKIA_SetIncomingCall(GSM_StateMachine *s, gboolean enable)
GSM_Profile_PhoneTableValue Profile71_65[]
GSM_Error DCT3_ReplyGetWAPBookmark(GSM_Protocol_Message *msg, GSM_StateMachine *s)
unsigned char GSM_EncodeNokiaRTTLRingtone(GSM_Ringtone *ringtone, unsigned char *package, size_t *maxlength)
GSM_PhoneModel * ModelInfo
GSM_Error DCT3_AnswerAllCalls(GSM_StateMachine *s)
GSM_Error DCT3_ReplySetSMSC(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetSMSC(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_SetWAPSettings(GSM_StateMachine *s, GSM_MultiWAPSettings *settings)
GSM_Error DCT3_SetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_Error DCT3DCT4_GetFirmware(GSM_StateMachine *s)
GSM_Error DCT3DCT4_ReplySetActiveConnectSet(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_92_ReplyGetSignalQuality(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N61_71_ResetPhoneSettings(GSM_StateMachine *s, GSM_ResetSettingsType Type)
void GSM_MakeMultiPartSMS(GSM_Debug_Info *di, GSM_MultiSMSMessage *SMS, unsigned char *MessageBuffer, size_t MessageLength, GSM_UDH UDHType, GSM_Coding_Type Coding, int Class, unsigned char ReplaceMessage)
GSM_Error DCT3_GetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_Error N71_92_GetPhoneSetting(GSM_StateMachine *s, int Request, int Setting)
#define GSM_MAX_SMS_FOLDER_NAME_LEN
GSM_Error DCT3DCT4_SetCallDivert(GSM_StateMachine *s, GSM_CallDivert *divert)
unsigned char Name[(GSM_MAX_SMS_NAME_LENGTH+1) *2]
GSM_Error DCT3_ReplySetWAPSettings(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_92_GetBatteryCharge(GSM_StateMachine *s, GSM_BatteryCharge *bat)
size_t N71_65_PackPBKBlock(GSM_StateMachine *s, int id, size_t size, int no, unsigned char *buf, unsigned char *block)
unsigned int Location[GSM_PHONE_MAXSMSINFOLDER+1]
struct GSM_Phone_Data::@2 Priv
GSM_NOKIASMSFolder LastSMSFolder
GSM_Error N71_65_ReplyGetNextCalendar1(GSM_Protocol_Message *msg, GSM_StateMachine *s)
gboolean NOKIA_FindPhoneFeatureValue(GSM_StateMachine *s, GSM_Profile_PhoneTableValue ProfileTable[], GSM_Profile_Feat_ID FeatureID, GSM_Profile_Feat_Value FeatureValue, unsigned char *PhoneID, unsigned char *PhoneValue)
GSM_NokiaBinaryRingtone NokiaBinary
GSM_Error DCT3_ReplyPressKey(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void NOKIA_GetDefaultCallerGroupName(GSM_Bitmap *Bitmap)
unsigned char N71_65_MEMORY_TYPES[]
GSM_Error GSM_WaitFor(GSM_StateMachine *s, unsigned const char *buffer, size_t length, int type, int timeout, GSM_Phone_RequestID request)
unsigned char Frame[50000]
GSM_Error N71_92_ReplyPhoneSetting(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_GetIMEI(GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetAlarm(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_SetWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
GSM_Phone_RequestID RequestID
GSM_Error N71_65_GetNextCalendar1(GSM_StateMachine *s, GSM_CalendarEntry *Note, gboolean start, GSM_NOKIACalToDoLocations *LastCalendar, int *LastCalendarYear, int *LastCalendarPos)
GSM_Error DCT3_PlayTone(GSM_StateMachine *s, int Herz, unsigned char Volume, gboolean start)
unsigned char Name[(GSM_MAX_SMS_FOLDER_NAME_LEN+1) *2]
GSM_Error N71_65_DecodePhonebook(GSM_StateMachine *s, GSM_MemoryEntry *entry, GSM_Bitmap *bitmap, GSM_SpeedDial *speed, unsigned char *MessageBuffer, int MessageLength, gboolean DayMonthReverse)
GSM_Error DCT3_ReplySIMLogout(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplySendSMSMessage(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_SetAlarm(GSM_StateMachine *s, GSM_Alarm *Alarm, unsigned char msgtype)
GSM_Error DCT3_SetIncomingCB(GSM_StateMachine *s, gboolean enable)
GSM_Profile_Feat_Value FeatureValue[15]
GSM_SMSMessage SMS[GSM_MAX_MULTI_SMS]
GSM_Error N71_65_ReplyAddCalendar2(GSM_Protocol_Message *msg, GSM_StateMachine *s)
#define N7110_FRAME_HEADER
GSM_Error DCT3_SendSMSMessage(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_Error DCT3DCT4_ReplyDelWAPBookmark(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3DCT4_CancelAllDiverts(GSM_StateMachine *s)
void NOKIA_EncodeNetworkCode(unsigned char *buffer, const char *input)
GSM_Error DCT3DCT4_ReplySetWAPBookmark(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error N71_65_ReplyGetCalendarInfo1(GSM_Protocol_Message *msg, GSM_StateMachine *s, GSM_NOKIACalToDoLocations *LastCalendar)
GSM_Error DCT3_GetProductCode(GSM_StateMachine *s, char *value)
GSM_Error GSM_UnpackSemiOctetNumber(GSM_Debug_Info *di, unsigned char *retval, const unsigned char *Number, size_t *pos, size_t bufferlength, gboolean semioctet)
GSM_Error N71_65_EnableFunctions(GSM_StateMachine *s, const char *buff, int len)
int GSM_UnpackEightBitsToSeven(size_t offset, size_t in_length, size_t out_length, const unsigned char *input, unsigned char *output)
GSM_Error DCT3_ReplyNetmonitor(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3DCT4_ReplyGetModelFirmware(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_MemoryType MemoryType
GSM_Error N71_65_ReplyUSSDInfo(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void GSM_ClearBitmap(GSM_Bitmap *bmp)
GSM_SMSFolders * SMSFolders
gboolean GSM_IsPhoneFeatureAvailable(GSM_PhoneModel *model, GSM_Feature feature)
size_t N71_65_EncodePhonebookFrame(GSM_StateMachine *s, unsigned char *req, GSM_MemoryEntry *entry, size_t *block2, gboolean DCT4, gboolean VoiceTag)
GSM_Error N71_92_GetSignalQuality(GSM_StateMachine *s, GSM_SignalQuality *sig)
GSM_Error NOKIA_ReplyGetPhoneString(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void PHONE_GetBitmapWidthHeight(GSM_Phone_Bitmap_Types Type, size_t *width, size_t *height)
GSM_Error DCT3_GetHardware(GSM_StateMachine *s, char *value)
GSM_Error DCT3_GetAlarm(GSM_StateMachine *s, GSM_Alarm *Alarm, unsigned char msgtype)
void * IncomingSMSUserData
GSM_Error N71_92_GetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_Error GSM_RingtoneConvert(GSM_Ringtone *dest, GSM_Ringtone *src, GSM_RingtoneFormat Format)
GSM_Error DCT3_DeleteWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
GSM_Error N71_65_AddCalendar2(GSM_StateMachine *s, GSM_CalendarEntry *Note)
unsigned char Text[2 *(GSM_BITMAP_TEXT_LENGTH+1)]
GSM_Error N71_65_ReplyGetMemoryError(unsigned char error, GSM_StateMachine *s)
GSM_Protocol_Functions * Functions
GSM_Error NOKIA_GetManufacturer(GSM_StateMachine *s)
GSM_MemoryStatus * MemoryStatus
GSM_SMSMessage * SaveSMSMessage
GSM_Error DCT3_GetOriginalIMEI(GSM_StateMachine *s, char *value)
GSM_Error NOKIA_SetIncomingSMS(GSM_StateMachine *s, gboolean enable)
GSM_Error DCT3_GetWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
gboolean EnableIncomingSMS
GSM_Error PHONE_EncodeSMSFrame(GSM_StateMachine *s, GSM_SMSMessage *SMS, unsigned char *buffer, GSM_SMSMessageLayout Layout, int *length, gboolean clear)
GSM_Error DCT3_GetNetworkInfo(GSM_StateMachine *s, GSM_NetworkInfo *netinfo)
GSM_Error DCT3DCT4_AnswerCall(GSM_StateMachine *s, int ID)
GSM_Error DCT3_GetSMSStatus(GSM_StateMachine *s, GSM_SMSMemoryStatus *status)
char Model[GSM_MAX_MODEL_LENGTH+1]
GSM_SpeedDial * SpeedDial
GSM_Error DCT3_ReplySetDateTime(GSM_Protocol_Message *msg, GSM_StateMachine *s)
IncomingSMSCallback IncomingSMS
GSM_Error N71_65_ReplySendDTMF(GSM_Protocol_Message *msg, GSM_StateMachine *s)
GSM_Error DCT3_ReplyGetNetworkInfo(GSM_Protocol_Message *msg, GSM_StateMachine *s)
void NOKIA_GetDefaultProfileName(GSM_Profile *Profile)
GSM_Error DCT3DCT4_SendDTMF(GSM_StateMachine *s, char *sequence)
int smprintf(GSM_StateMachine *s, const char *format,...)
GSM_Error DCT3_GetManufactureMonth(GSM_StateMachine *s, char *value)
GSM_Error N71_65_ReplyWritePhonebook(GSM_Protocol_Message *msg, GSM_StateMachine *s)