30 #include "../../gsmstate.h" 35 #include <sys/types.h> 41 #include "../../gsmcomon.h" 42 #include "../../misc/coding/coding.h" 43 #include "../../misc/locales.h" 44 #include "../../misc/misc.h" 47 #include "../../../helper/string.h" 50 #define MKDIR(dir) _mkdir(dir) 52 #define S_ISDIR(mode) ((mode & _S_IFDIR) == _S_IFDIR) 54 #include "../../../helper/win32-dirent.h" 56 #define MKDIR(dir) mkdir(dir, 0755) 64 smprintf(s,
"Filesystem path: %s\n", path);
66 if (tmp_errno == ENOENT) {
68 }
else if (tmp_errno == EACCES) {
70 }
else if (tmp_errno == EEXIST) {
82 log_file = (
char *)malloc(strlen(filename) + Priv->
devlen + 2);
85 strcat(log_file,
"/");
86 strcat(log_file, filename);
99 path = (
char *)malloc(strlen(filename) + Priv->
devlen + 5);
102 strcat(path,
"/fs/");
103 strcat(path, filename);
113 path = (
char *)malloc(strlen(filename) + strlen(Priv->
dirnames[depth]) + 2);
115 strcpy(path, Priv->
dirnames[depth]);
117 strcat(path, filename);
124 char *full_name=NULL;
130 full_name = (
char *)malloc(strlen(dirname) + Priv->
devlen + 20);
134 f = fopen(full_name,
"r");
135 if (f == NULL)
continue;
146 char *full_name=NULL;
150 full_name = (
char *)malloc(strlen(dirname) + Priv->
devlen + 20);
164 char *full_name=NULL;
169 full_name = (
char *)malloc(strlen(dirname) + Priv->
devlen + 20);
173 f = fopen(full_name,
"r");
189 char *full_name=NULL;
194 full_name = (
char *)malloc(strlen(dirname) + Priv->
devlen + 20);
198 f = fopen(full_name,
"r");
213 char smspath[100]={0};
238 sprintf(path,
"todo/%d", entry->
Location);
245 sprintf(path,
"note/%d", entry->
Location);
252 sprintf(path,
"calendar/%d", entry->
Location);
259 sprintf(path,
"alarm/%d", entry->
Location);
269 char *log_file, *path;
270 const char *
const paths[] = {
296 smprintf(s,
"Log file %s\n", log_file);
299 for (i = 0; i <
sizeof(paths) /
sizeof(
char *); i++) {
301 if (
MKDIR(path) != 0 && errno != EEXIST) {
302 smprintf(s,
"Failed to create directory: %s\n", path);
314 Priv->
log_file = fopen(log_file,
"w");
386 if (Priv->
dir[i] != NULL) {
387 closedir(Priv->
dir[i]);
408 strcpy(value,
"DUMMY-001");
420 strcpy(value,
"666666666666666");
426 strcpy(value,
"April");
432 strcpy(value,
"FOO DUMMY BAR");
438 strcpy(value,
"EN CS");
464 GSM_SMS_Backup *Backup;
468 int location, folder;
473 Backup = malloc(
sizeof(GSM_SMS_Backup));
474 if (Backup == NULL) {
480 error = GSM_ReadSMSBackupFile(filename, Backup);
493 for (SMS = Backup->SMS[i]; SMS != NULL; SMS = Backup->SMS[++i]) {
495 sms->
SMS[i] = *(Backup->SMS[i]);
521 GSM_FreeSMSBackup(Backup);
534 if (unlink(filename) == 0) {
537 error =
DUMMY_Error(s,
"SMS unlink failed", filename);
548 GSM_SMS_Backup *Backup;
550 Backup = malloc(
sizeof(GSM_SMS_Backup));
551 if (Backup == NULL) {
564 Backup->SMS[0] = sms;
565 Backup->SMS[1] = NULL;
567 error = GSM_AddSMSBackupFile(filename, Backup);
576 char dirname[20]={0};
578 sprintf(dirname,
"sms/%d", sms->
Folder);
619 char dirname[20]={0};
634 sprintf(dirname,
"sms/%d", sms->
SMS[0].
Folder);
650 sprintf(dirname,
"sms/%d", 5);
653 sprintf(dirname,
"sms/%d", 1);
655 sprintf(dirname,
"sms/%d", 2);
660 sprintf(dirname,
"sms/%d", 3);
662 sprintf(dirname,
"sms/%d", 4);
674 fprintf(Priv->
log_file,
"Dialling %s\n", number);
687 fprintf(Priv->
log_file,
"Dialling service %s\n", number);
705 fprintf(Priv->
log_file,
"Answering call %d (%d)\n", ID, all);
712 strcpy(netinfo->
CID,
"FACE");
716 strcpy(netinfo->
LAC,
"B00B");
742 fprintf(Priv->
log_file,
"Pressing key %d\n", Key);
744 fprintf(Priv->
log_file,
"Releasing key %d\n", Key);
755 fprintf(Priv->
log_file,
"Performing hard reset!\n");
757 fprintf(Priv->
log_file,
"Performing soft reset!\n");
767 fprintf(Priv->
log_file,
"Canceling call %d (%d)\n", ID, all);
779 unsigned char buffer[1000] = {
'\0'};
858 fprintf(Priv->
log_file,
"DTMF: %s\n", sequence);
864 strcpy(IMSI,
"994299429942994");
949 error = GSM_ReadBackupFile(filename, &Backup, GSM_Backup_VCalendar);
958 if (Backup.Calendar[0] == NULL)
return ERR_EMPTY;
965 for (i = 0; i < Backup.Calendar[0]->EntriesNum; i++) {
966 switch (Backup.Calendar[0]->Entries[i].EntryType) {
968 entry->
DateTime = Backup.Calendar[0]->Entries[i].Date;
974 if (Backup.Calendar[0]->Entries[i].Number) {
983 GSM_FreeBackup(&Backup);
995 if (unlink(filename) == 0) {
998 error =
DUMMY_Error(s,
"calendar unlink failed", filename);
1009 char *filename=NULL;
1014 GSM_ClearBackup(&backup);
1043 backup.Calendar[0] = &cal;
1044 backup.Calendar[1] = NULL;
1046 error = GSM_SaveBackupFile(filename, &backup, GSM_Backup_VCalendar);
1120 file = fopen(path,
"w");
1134 if (fclose(file) != 0) {
1156 char *path, *name, *pos;
1166 name = strrchr(path,
'/');
1167 if (name == NULL) name = path;
1171 while (*pos != 0 && (pos = strchr(pos + 1,
'/')) != NULL) File->
Level++;
1216 if (strcmp(dp->d_name,
"..") == 0 || strcmp(dp->d_name,
".") == 0)
1217 goto read_next_entry;
1221 if (stat(path, &sb) < 0) {
1229 File->
Used = sb.st_size;
1245 if (S_ISDIR(sb.st_mode)) {
1248 smprintf(s,
"We hit DUMMY_MAX_FS_DEPTH limit!\n");
1256 error =
DUMMY_Error(s,
"nested opendir failed", path);
1279 if (Priv->
dir[i] != NULL) {
1280 closedir(Priv->
dir[i]);
1281 Priv->
dir[i] = NULL;
1286 Priv->
dir[0] = opendir(path);
1288 if (Priv->
dir[0] == NULL) {
1307 goto read_next_entry;
1310 if (strcmp(dp->d_name,
"..") == 0 || strcmp(dp->d_name,
".") == 0)
1311 goto read_next_entry;
1315 if (stat(path, &sb) < 0) {
1339 if (S_ISDIR(sb.st_mode)) {
1342 smprintf(s,
"We hit DUMMY_MAX_FS_DEPTH limit!\n");
1350 error =
DUMMY_Error(s,
"nested opendir failed", path);
1368 if (unlink(path) != 0) {
1386 smprintf(s,
"Deleting directory %s\n", path);
1387 if (rmdir(path) != 0) {
1414 if (
MKDIR(path) != 0) {
1437 char *filename=NULL;
1446 error = GSM_ReadBackupFile(filename, &Backup, GSM_Backup_VCard);
1455 if (Backup.PhonePhonebook[0] == NULL && Backup.SIMPhonebook[0] == NULL)
return ERR_EMPTY;
1458 if (Backup.PhonePhonebook[0] != NULL) {
1459 *entry = *(Backup.PhonePhonebook[0]);
1461 *entry = *(Backup.SIMPhonebook[0]);
1467 if (Backup.PhonePhonebook[0] != NULL) {
1476 GSM_FreeBackup(&Backup);
1483 char dirname[20]={0};
1502 char *filename=NULL;
1507 if (unlink(filename) == 0) {
1510 error =
DUMMY_Error(s,
"memory unlink failed", filename);
1520 char *filename=NULL;
1524 GSM_ClearBackup(&backup);
1531 backup.PhonePhonebook[0] = entry;
1532 backup.PhonePhonebook[1] = NULL;
1534 error = GSM_SaveBackupFile(filename, &backup, GSM_Backup_VCard);
1542 char dirname[20]={0};
1571 char *filename=NULL;
1578 error = GSM_ReadBackupFile(filename, &Backup, GSM_Backup_VCalendar);
1587 if (Backup.ToDo[0] == NULL)
return ERR_EMPTY;
1589 *entry = *(Backup.ToDo[0]);
1591 GSM_FreeBackup(&Backup);
1613 char *filename=NULL;
1618 if (unlink(filename) == 0) {
1621 error =
DUMMY_Error(s,
"todo unlink failed", filename);
1631 char *filename=NULL;
1635 GSM_ClearBackup(&backup);
1642 backup.ToDo[0] = entry;
1643 backup.ToDo[1] = NULL;
1645 error = GSM_SaveBackupFile(filename, &backup, GSM_Backup_VCalendar);
1675 char *filename=NULL;
1682 error = GSM_ReadBackupFile(filename, &Backup, GSM_Backup_VCalendar);
1691 if (Backup.Calendar[0] == NULL)
return ERR_EMPTY;
1693 *entry = *(Backup.Calendar[0]);
1695 GSM_FreeBackup(&Backup);
1717 char *filename=NULL;
1722 if (unlink(filename) == 0) {
1725 error =
DUMMY_Error(s,
"calendar unlink failed", filename);
1735 char *filename=NULL;
1739 GSM_ClearBackup(&backup);
1746 backup.Calendar[0] = entry;
1747 backup.Calendar[1] = NULL;
1749 error = GSM_SaveBackupFile(filename, &backup, GSM_Backup_VCalendar);
1791 char *filename=NULL;
1798 error = GSM_ReadBackupFile(filename, &Backup, GSM_Backup_VNote);
1807 if (Backup.Note[0] == NULL)
return ERR_EMPTY;
1809 *entry = *(Backup.Note[0]);
1811 GSM_FreeBackup(&Backup);
1833 char *filename=NULL;
1838 if (unlink(filename) == 0) {
1841 error =
DUMMY_Error(s,
"note unlink failed", filename);
1850 char *filename=NULL;
1854 GSM_ClearBackup(&backup);
1861 backup.Note[0] = entry;
1862 backup.Note[1] = NULL;
1864 error = GSM_SaveBackupFile(filename, &backup, GSM_Backup_VNote);
1901 Status->
Free = 10101;
1902 Status->
Used = 1000000;
1937 if (stat(path, &sb) == 0) {
1940 memset(&call, 0,
sizeof(call));
1961 {NULL,
"\x00" ,0x00,0x00,
ID_None }
GSM_Error DUMMY_GetToDoStatus(GSM_StateMachine *s, GSM_ToDoStatus *Status)
GSM_Config * CurrentConfig
gboolean EnableIncomingUSSD
char * DUMMY_GetFSPath(GSM_StateMachine *s, const char *filename, int depth)
GSM_Error DUMMY_GetModel(GSM_StateMachine *s)
GSM_Error DUMMY_GetSignalStrength(GSM_StateMachine *s, GSM_SignalQuality *sig)
unsigned char Name[2 *(GSM_MAX_FILENAME_LENGTH+1)]
GSM_ChargeState ChargeState
GSM_Error DUMMY_SetFileAttributes(GSM_StateMachine *s, GSM_File *File)
GSM_Error DUMMY_AnswerCall(GSM_StateMachine *s, int ID, gboolean all)
GSM_Error DUMMY_DeleteAllMemory(GSM_StateMachine *s, GSM_MemoryType type)
GSM_Error DUMMY_SetBitmap(GSM_StateMachine *s, GSM_Bitmap *Bitmap)
GSM_Error DUMMY_SetIncomingSMS(GSM_StateMachine *s, gboolean enable)
IncomingUSSDCallback IncomingUSSD
unsigned char ID_FullName[2 *(GSM_MAX_FILENAME_ID_LENGTH+1)]
char * DecodeUnicodeString(const unsigned char *src)
GSM_Error DUMMY_GetNextFileFolder(GSM_StateMachine *s, GSM_File *File, gboolean start)
GSM_Error DUMMY_GetSMS(GSM_StateMachine *s, GSM_MultiSMSMessage *sms)
void CopyUnicodeString(unsigned char *Dest, const unsigned char *Source)
char dirnames[DUMMY_MAX_FS_DEPTH+1][PATH_MAX]
GSM_Error DUMMY_GetFilePart(GSM_StateMachine *s, GSM_File *File, int *Handle, size_t *Size)
GSM_Error DUMMY_SetIncomingCB(GSM_StateMachine *s, gboolean enable)
GSM_Error DUMMY_GetMemoryStatus(GSM_StateMachine *s, GSM_MemoryStatus *Status)
void * IncomingCallUserData
GSM_Error DUMMY_GetWAPBookmark(GSM_StateMachine *s, GSM_WAPBookmark *bookmark)
char * DUMMY_GetSMSPath(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_MemoryType MemoryType
void * IncomingUSSDUserData
GSM_Error DUMMY_ResetPhoneSettings(GSM_StateMachine *s, GSM_ResetSettingsType Type)
char Code[GSM_SECURITY_CODE_LEN+1]
GSM_Error DUMMY_DeleteToDo(GSM_StateMachine *s, GSM_ToDoEntry *entry)
GSM_Error DUMMY_GetCalendarStatus(GSM_StateMachine *s, GSM_CalendarStatus *Status)
GSM_Error DUMMY_SetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_Error DUMMY_SetAutoNetworkLogin(GSM_StateMachine *s)
unsigned char NetworkName[15 *2]
GSM_Error DUMMY_SetAlarm(GSM_StateMachine *s, GSM_Alarm *entry)
GSM_Error DUMMY_DeleteAllToDo(GSM_StateMachine *s)
char * DUMMY_GetFSFilePath(GSM_StateMachine *s, const unsigned char *fullname)
GSM_Error DUMMY_GetMemory(GSM_StateMachine *s, GSM_MemoryEntry *entry)
char VerDate[GSM_MAX_VERSION_DATE_LENGTH+1]
GSM_Error DUMMY_GetLocale(GSM_StateMachine *s, GSM_Locale *locale)
GSM_Error DUMMY_GetSMSC(GSM_StateMachine *s, GSM_SMSC *smsc)
GSM_Phone_DUMMYData DUMMY
GSM_Error DUMMY_GetManufacturer(GSM_StateMachine *s)
SendSMSStatusCallback SendSMSStatus
GSM_Error DUMMY_SetSMS(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_Phone_Functions DUMMYPhone
gboolean EnableIncomingCB
GSM_Error DUMMY_GetCallDivert(GSM_StateMachine *s, GSM_CallDivert *request, GSM_MultiCallDivert *response)
GSM_Error DUMMY_DeleteCalendar(GSM_StateMachine *s, GSM_CalendarEntry *entry)
GSM_OneSMSFolder Folder[GSM_MAX_SMS_FOLDERS]
#define GSM_MemoryTypeToString(x)
void * SendSMSStatusUserData
size_t UnicodeLength(const unsigned char *str)
GSM_Error DUMMY_GetManufactureMonth(GSM_StateMachine *s, char *value)
GSM_SMSMessageLayout PHONE_SMSDeliver
char * DUMMY_ToDoPath(GSM_StateMachine *s, GSM_ToDoEntry *entry)
gboolean EnableIncomingCall
GSM_DateFormat DateFormat
GSM_Error DUMMY_SetLocale(GSM_StateMachine *s, GSM_Locale *locale)
GSM_Error DUMMY_GetSIMIMSI(GSM_StateMachine *s, char *IMSI)
#define DUMMY_MAX_LOCATION
GSM_Error DUMMY_GetRingtone(GSM_StateMachine *s, GSM_Ringtone *Ringtone, gboolean PhoneRingtone)
GSM_Error DUMMY_DeleteAll(GSM_StateMachine *s, const char *dirname)
char IMEI[GSM_MAX_IMEI_LENGTH+1]
char Version[GSM_MAX_VERSION_LENGTH+1]
GSM_BinaryPicture Picture
GSM_Error DUMMY_GetPPM(GSM_StateMachine *s, char *value)
char * DUMMY_MemoryPath(GSM_StateMachine *s, GSM_MemoryEntry *entry)
GSM_Error DUMMY_GetHardware(GSM_StateMachine *s, char *value)
char Manufacturer[GSM_MAX_MANUFACTURER_LENGTH+1]
GSM_PhoneModel * ModelInfo
GSM_Error DUMMY_SetCalendarSettings(GSM_StateMachine *s, GSM_CalendarSettings *settings)
GSM_Error DUMMY_AddNote(GSM_StateMachine *s, GSM_NoteEntry *entry)
GSM_Error DUMMY_AddFolder(GSM_StateMachine *s, GSM_File *File)
unsigned char Text[(GSM_MAX_CALENDAR_TEXT_LENGTH+1) *2]
GSM_Error DUMMY_SetMemory(GSM_StateMachine *s, GSM_MemoryEntry *entry)
GSM_Error DUMMY_SetIncomingUSSD(GSM_StateMachine *s, gboolean enable)
int DUMMY_GetNext(GSM_StateMachine *s, const char *dirname, int current)
int DUMMY_GetCount(GSM_StateMachine *s, const char *dirname)
#define GSM_MAX_USSD_LENGTH
GSM_Error DUMMY_GetNextSMS(GSM_StateMachine *s, GSM_MultiSMSMessage *sms, gboolean start)
GSM_Error DUMMY_PressKey(GSM_StateMachine *s, GSM_KeyCode Key, gboolean Press)
GSM_Error DUMMY_GetFirmware(GSM_StateMachine *s)
GSM_Error DUMMY_GetNextNote(GSM_StateMachine *s, GSM_NoteEntry *entry, gboolean start)
GSM_Error DUMMY_SetFastSMSSending(GSM_StateMachine *s, gboolean enable)
unsigned char DefaultNumber[(GSM_MAX_NUMBER_LENGTH+1) *2]
void Fill_GSM_DateTime(GSM_DateTime *Date, time_t timet)
int DUMMY_GetFirstFree(GSM_StateMachine *s, const char *dirname)
GSM_Error DUMMY_GetAlarm(GSM_StateMachine *s, GSM_Alarm *entry)
GSM_Error DUMMY_AddToDo(GSM_StateMachine *s, GSM_ToDoEntry *entry)
GSM_Error DUMMY_DeleteAllNote(GSM_StateMachine *s)
GSM_ValidityPeriodFormat Format
GSM_Error DUMMY_GetNetworkInfo(GSM_StateMachine *s, GSM_NetworkInfo *netinfo)
GSM_Error DUMMY_DeleteAllCalendar(GSM_StateMachine *s)
GSM_CalendarNoteType Type
GSM_Error DUMMY_GetNextToDo(GSM_StateMachine *s, GSM_ToDoEntry *entry, gboolean start)
GSM_Error DUMMY_GetSMSFolders(GSM_StateMachine *s, GSM_SMSFolders *folders)
void EncodeUnicode(unsigned char *dest, const char *src, size_t len)
struct GSM_Phone_Data::@2 Priv
GSM_Error DUMMY_EnterSecurityCode(GSM_StateMachine *s, GSM_SecurityCode *Code)
GSM_Error DUMMY_Reset(GSM_StateMachine *s, gboolean hard)
GSM_Error DUMMY_Initialise(GSM_StateMachine *s)
GSM_Error DUMMY_GetFolderListing(GSM_StateMachine *s, GSM_File *File, gboolean start)
GSM_Reply_Function DUMMYReplyFunctions[]
unsigned char Number[(GSM_MAX_NUMBER_LENGTH+1) *2]
unsigned char Text[2 *(GSM_MAX_USSD_LENGTH+1)]
GSM_Error DUMMY_SetCalendar(GSM_StateMachine *s, GSM_CalendarEntry *entry)
GSM_Error DUMMY_CancelCall(GSM_StateMachine *s, int ID, gboolean all)
GSM_Error DUMMY_GetIMEI(GSM_StateMachine *s)
GSM_Error DUMMY_GetDisplayStatus(GSM_StateMachine *s, GSM_DisplayFeatures *features)
GSM_Error DUMMY_GetNote(GSM_StateMachine *s, GSM_NoteEntry *entry)
GSM_Error DUMMY_GetFileSystemStatus(GSM_StateMachine *s, GSM_FileSystemStatus *Status)
GSM_Error DUMMY_SendDTMF(GSM_StateMachine *s, char *sequence)
char * DUMMY_AlarmPath(GSM_StateMachine *s, GSM_Alarm *entry)
char * DUMMY_CalendarPath(GSM_StateMachine *s, GSM_CalendarEntry *entry)
GSM_Divert_CallTypes CallType
unsigned char Name[(GSM_MAX_SMS_FOLDER_NAME_LEN+1) *2]
GSM_Error DUMMY_SendFilePart(GSM_StateMachine *s, GSM_File *File, size_t *Pos, int *Handle)
GSM_Error DUMMY_DeleteSMS(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_Error DUMMY_CancelAllDiverts(GSM_StateMachine *s)
void GSM_OSErrorInfo(GSM_StateMachine *s, const char *description)
GSM_Error DUMMY_GetBatteryCharge(GSM_StateMachine *s, GSM_BatteryCharge *bat)
GSM_Error DUMMY_SendSMS(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_SMSMessage SMS[GSM_MAX_MULTI_SMS]
GSM_CalendarType EntryType
GSM_Error DUMMY_GetNextCalendar(GSM_StateMachine *s, GSM_CalendarEntry *entry, gboolean start)
GSM_Error DUMMY_DialVoice(GSM_StateMachine *s, char *number, GSM_CallShowNumber ShowNumber)
GSM_Error DUMMY_GetOriginalIMEI(GSM_StateMachine *s, char *value)
IncomingCallCallback IncomingCall
#define DUMMY_MAX_FS_DEPTH
GSM_Divert_DivertTypes DivertType
char * DUMMY_NotePath(GSM_StateMachine *s, GSM_NoteEntry *entry)
GSM_Error DUMMY_AddFilePart(GSM_StateMachine *s, GSM_File *File, size_t *Pos, int *Handle)
GSM_CallDivert Entries[GSM_MAX_CALL_DIVERTS]
unsigned char PhoneNumber[(GSM_MAX_NUMBER_LENGTH+1) *2]
GSM_Error PHONE_GetSMSFolders(GSM_StateMachine *s UNUSED, GSM_SMSFolders *folders)
GSM_NetworkInfo_State State
GSM_Error DUMMY_Error(GSM_StateMachine *s, const char *message, const char *path)
unsigned char Number[(GSM_MAX_NUMBER_LENGTH+1) *2]
DIR * dir[DUMMY_MAX_FS_DEPTH+1]
GSM_Error GSM_ReadFile(const char *FileName, GSM_File *File)
GSM_Error DUMMY_AddCalendar(GSM_StateMachine *s, GSM_CalendarEntry *entry)
unsigned char Title[(50+1) *2]
GSM_Error DUMMY_SetToDo(GSM_StateMachine *s, GSM_ToDoEntry *entry)
GSM_SubCalendarEntry Entries[GSM_CALENDAR_ENTRIES]
GSM_MemoryType MemoryType
void GSM_GetCurrentDateTime(GSM_DateTime *Date)
GSM_Error DUMMY_SetNote(GSM_StateMachine *s, GSM_NoteEntry *entry)
GSM_Error DUMMY_GetNextMemory(GSM_StateMachine *s, GSM_MemoryEntry *entry, gboolean start)
gboolean GSM_IsPhoneFeatureAvailable(GSM_PhoneModel *model, GSM_Feature feature)
GSM_Error DUMMY_SendSavedSMS(GSM_StateMachine *s, int Folder, int Location)
char * DUMMY_GetFilePath(GSM_StateMachine *s, const char *filename)
GSM_SMSMessageLayout PHONE_SMSSubmit
GSM_MultiCallDivert diverts
GSM_Error DUMMY_DeleteFolder(GSM_StateMachine *s, unsigned char *ID)
GSM_Error DUMMY_GetToDo(GSM_StateMachine *s, GSM_ToDoEntry *entry)
GSM_Error DUMMY_AddMemory(GSM_StateMachine *s, GSM_MemoryEntry *entry)
void GSM_CreateFirmwareNumber(GSM_StateMachine *s)
GSM_Error DUMMY_DeleteNote(GSM_StateMachine *s, GSM_NoteEntry *entry)
GSM_Error DUMMY_GetCalendarSettings(GSM_StateMachine *s, GSM_CalendarSettings *settings)
GSM_NetworkInfo_State PacketState
GSM_Error DUMMY_GetBitmap(GSM_StateMachine *s, GSM_Bitmap *Bitmap)
GSM_Error DUMMY_GetProductCode(GSM_StateMachine *s, char *value)
GSM_Error DUMMY_SetIncomingCall(GSM_StateMachine *s, gboolean enable)
GSM_Error DUMMY_AddSMS(GSM_StateMachine *s, GSM_SMSMessage *sms)
GSM_Error DUMMY_Terminate(GSM_StateMachine *s)
unsigned char Address[(255+1) *2]
GSM_SecurityCodeType Type
GSM_Error DUMMY_GetCalendar(GSM_StateMachine *s, GSM_CalendarEntry *entry)
gboolean EnableIncomingSMS
GSM_Error PHONE_EncodeSMSFrame(GSM_StateMachine *s, GSM_SMSMessage *SMS, unsigned char *buffer, GSM_SMSMessageLayout Layout, int *length, gboolean clear)
GSM_Error DUMMY_GetNoteStatus(GSM_StateMachine *s, GSM_ToDoStatus *Status)
GSM_Error DUMMY_DeleteMemory(GSM_StateMachine *s, GSM_MemoryEntry *entry)
GSM_Error DUMMY_GetSMSStatus(GSM_StateMachine *s, GSM_SMSMemoryStatus *status)
GSM_DisplayFeature Feature[7]
GSM_Error DUMMY_PreAPICall(GSM_StateMachine *s)
GSM_ValidityPeriod Relative
char Model[GSM_MAX_MODEL_LENGTH+1]
GSM_Error DUMMY_GetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_Error DUMMY_DispatchMessage(GSM_StateMachine *s)
GSM_Error DUMMY_DeleteFile(GSM_StateMachine *s, unsigned char *ID)
GSM_Error DUMMY_DialService(GSM_StateMachine *s, char *number)
#define GAMMU_VERSION_NUM
GSM_Error DUMMY_SetDateTime(GSM_StateMachine *s, GSM_DateTime *date_time)
GSM_Error DUMMY_SetRingtone(GSM_StateMachine *s, GSM_Ringtone *Ringtone, int *maxlength)
unsigned char Text[(GSM_MAX_CALENDAR_TEXT_LENGTH+1) *2]
int smprintf(GSM_StateMachine *s, const char *format,...)
GSM_Error DUMMY_DeleteAlarm(GSM_StateMachine *s, GSM_Alarm *entry)
GSM_Error DUMMY_SetCallDivert(GSM_StateMachine *s, GSM_CallDivert *request)
GSM_BatteryType BatteryType
GSM_Error DUMMY_GetSecurityStatus(GSM_StateMachine *s, GSM_SecurityCodeType *Status)
unsigned char Name[(GSM_MAX_SMSC_NAME_LENGTH+1) *2]
GSM_SubMemoryEntry Entries[GSM_PHONEBOOK_ENTRIES]