4 A Linux/Unix toolset and driver for Nokia mobile phones.
\r
6 Released under the terms of the GNU GPL, see file COPYING for more details.
\r
16 #include <sys/stat.h>
\r
19 #if defined(__svr4__) || defined(__FreeBSD__)
\r
20 # include <strings.h> /* for bzero */
\r
26 #include <windows.h>
\r
27 #define sleep(x) Sleep((x) * 1000)
\r
28 #define usleep(x) Sleep(((x) < 1000) ? 1 : ((x) / 1000))
\r
31 #define DEV_CONSOLE "CON:"
\r
36 #include <termios.h>
\r
38 #include <sys/types.h>
\r
39 #include <sys/time.h>
\r
42 #define DEV_CONSOLE "/dev/tty"
\r
46 #include "gsm-common.h"
\r
47 #include "gsm-api.h"
\r
48 #include "gsm-networks.h"
\r
49 #include "files/cfgreader.h"
\r
50 #include "gnokiiapi.h"
\r
51 #include "files/gsm-filetypes.h"
\r
52 #include "gsm-ringtones.h"
\r
53 #include "gsm-bitmaps.h"
\r
54 #include "gsm-sms.h"
\r
55 #include "newmodules/n6110.h"
\r
57 #include "mversion.h"
\r
63 extern GSM_Network GSM_Networks[];
\r
65 int WINAPI myinitialize (char *port, char *model, int connectiontype)
\r
67 return GSM_Initialise(model, port, "30", connectiontype, NULL, "no");
\r
70 int WINAPI mygetnetworkinfo (GSM_NetworkInfo *NetworkInfo)
\r
72 return GSM->GetNetworkInfo(NetworkInfo);
\r
75 int WINAPI myterminate ()
\r
81 int WINAPI mygetnetworkname(char *NetworkName, char *NetworkCode)
\r
83 strcpy(NetworkName,GSM_GetNetworkName(NetworkCode));
\r
87 int WINAPI mynetmonitor(int mode, char *Screen)
\r
89 return GSM->NetMonitor(mode, Screen);
\r
92 int WINAPI mygetmemorylocation(GSM_PhonebookEntry *entry)
\r
94 return GSM->GetMemoryLocation(entry);
\r
97 int WINAPI mywritephonebooklocation(GSM_PhonebookEntry *entry)
\r
99 return GSM->WritePhonebookLocation(entry);
\r
102 int WINAPI mygetmemorystatus(GSM_MemoryStatus *Status)
\r
104 return GSM->GetMemoryStatus(Status);
\r
107 int WINAPI myreadringtonefile(char *FileName, GSM_Ringtone *ringtone)
\r
109 return GSM_ReadRingtoneFile(FileName, ringtone);
\r
112 int WINAPI myplayringtone(GSM_Ringtone *ringtone)
\r
114 GSM_PlayRingtone(ringtone);
\r
118 int WINAPI myplaynote(GSM_RingtoneNote note)
\r
120 GSM_PlayOneNote(note);
\r
124 int WINAPI myreadbitmapfile(char *FileName, GSM_Bitmap *bitmap)
\r
126 return GSM_ReadBitmapFile(FileName, bitmap);
\r
129 int WINAPI mysavebitmapfile(char *FileName, GSM_Bitmap *bitmap)
\r
131 return GSM_SaveBitmapFile(FileName, bitmap);
\r
134 bool WINAPI myispointbitmap(GSM_Bitmap *bitmap,int x, int y)
\r
136 return GSM_IsPointBitmap(bitmap,x,y);
\r
139 int WINAPI mygetimei(char *IMEI)
\r
141 return GSM->GetIMEI(IMEI);
\r
144 int WINAPI mygetrevision(char *revision)
\r
146 return GSM->GetRevision(revision);
\r
149 int WINAPI mygetmodel(char *model)
\r
151 return GSM->GetModel(model);
\r
154 int WINAPI mygetmodelnumber(char *model,char *model2)
\r
156 strcpy(model2,GetModelName(model));
\r
160 int WINAPI mysetringtone(GSM_Ringtone *ringtone, int *notes)
\r
162 return GSM->SetRingtone(ringtone,notes);
\r
165 int WINAPI mygetdllversion(char *version)
\r
167 strcpy(version,VERSION);
\r
171 int WINAPI mysetpointbitmap(GSM_Bitmap *bmp, int x, int y)
\r
173 GSM_SetPointBitmap(bmp,x,y);
\r
177 int WINAPI myclearpointbitmap(GSM_Bitmap *bmp, int x, int y)
\r
179 GSM_ClearPointBitmap(bmp,x,y);
\r
183 int WINAPI myclearbitmap(GSM_Bitmap *bmp)
\r
185 GSM_ClearBitmap(bmp);
\r
189 int WINAPI myresizebitmap (GSM_Bitmap *bitmap, GSM_Bitmap_Types target)
\r
191 GSM_ResizeBitmap(bitmap,target);
\r
195 int WINAPI mysetbitmap(GSM_Bitmap *Bitmap)
\r
197 return GSM->SetBitmap(Bitmap);
\r
200 int WINAPI mygetbitmap(GSM_Bitmap *Bitmap)
\r
202 return GSM->GetBitmap(Bitmap);
\r
205 int WINAPI mygetnetworkdata(int number, char *Name, char *Code)
\r
207 strcpy(Name,GSM_Networks[number].Name);
\r
208 strcpy(Code,GSM_Networks[number].Code);
\r
212 int WINAPI mygetnetworkcode(char *NetworkName, char *NetworkCode)
\r
214 strcpy(NetworkCode,GSM_GetNetworkCode(NetworkName));
\r
218 int WINAPI mygetspeeddial(GSM_SpeedDial *entry)
\r
220 return GSM->GetSpeedDial(entry);
\r
223 int WINAPI myreset(unsigned char type)
\r
225 return GSM->Reset(type);
\r
228 int WINAPI mygetcalendarnote(GSM_CalendarNote *note)
\r
230 return GSM->GetCalendarNote(note);
\r
233 int WINAPI mygetsmscenter(GSM_MessageCenter *center)
\r
235 return GSM->GetSMSCenter(center);
\r
238 int WINAPI mysetsmscenter(GSM_MessageCenter *center)
\r
240 return GSM->SetSMSCenter(center);
\r
243 int WINAPI mygetalarm(int alarm_number, GSM_DateTime *alarm)
\r
245 return GSM->GetAlarm(alarm_number,alarm);
\r
248 int WINAPI mygetprofile(GSM_Profile *profile)
\r
250 return GSM->GetProfile(profile);
\r
253 int WINAPI mygetsimlock(GSM_AllSimlocks *simlocks)
\r
255 return GSM->SimlockInfo(simlocks);
\r
258 int WINAPI mygetsmsstatus(GSM_SMSStatus *status)
\r
260 return GSM->GetSMSStatus(status);
\r
263 int WINAPI mygetsmsfolders(GSM_SMSFolders *folders)
\r
265 return GSM->GetSMSFolders(folders);
\r
268 int WINAPI mygetsmsmessage(GSM_SMSMessage *sms)
\r
270 return GSM->GetSMSMessage(sms);
\r
273 int WINAPI mywritecalendarnote(GSM_CalendarNote *note)
\r
275 return GSM->WriteCalendarNote(note);
\r
278 int WINAPI mydeletecalendarnote(GSM_CalendarNote *note)
\r
280 return GSM->DeleteCalendarNote(note);
\r
283 int WINAPI mysavesmsmessage(GSM_SMSMessage *sms)
\r
285 return GSM->SaveSMSMessage(sms);
\r
288 int WINAPI mysendsmsmessage(GSM_SMSMessage *sms)
\r
290 return GSM->SendSMSMessage(sms);
\r
293 int WINAPI mydeletesmsmessage(GSM_SMSMessage *sms)
\r
295 return GSM->DeleteSMSMessage(sms);
\r
298 int WINAPI mygettempo(int beats)
\r
300 GSM_GetTempo(beats);
\r
304 int WINAPI myplaytone(int Herz, u8 Volume)
\r
306 return GSM->PlayTone(Herz,Volume);
\r
309 int WINAPI myreadconfig(char *model, char *port, char *initlength,
\r
310 char *connection, char *synchronizetime)
\r
317 char *synchronizetime0;
\r
319 CFG_ReadConfig(&model0, &port0, &initlength0,&connection0,&bindir0,&synchronizetime0,false);
\r
321 strcpy(model,model0);
\r
322 strcpy(port,port0);
\r
323 strcpy(initlength,initlength0);
\r
324 *connection=GetConnectionTypeFromString(connection0);
\r
325 strcpy(synchronizetime,synchronizetime0);
\r
330 int WINAPI mysetlocale(char *locale)
\r
332 setlocale(LC_ALL, locale);
\r
336 int WINAPI mymakemultipartsms2(GSM_MultiSMSMessage *SMS,
\r
337 u8 *MessageBuffer,int MessageLength, GSM_UDH UDHType, GSM_Coding_Type Coding)
\r
339 GSM_MakeMultiPartSMS2(SMS,MessageBuffer,MessageLength,UDHType,Coding);
\r
343 int WINAPI mysaveringtonetosms(GSM_MultiSMSMessage *SMS,
\r
344 GSM_Ringtone *ringtone, bool profilestyle)
\r
346 return GSM_SaveRingtoneToSMS(SMS,ringtone,profilestyle);
\r
349 int WINAPI mysavewapbookmarktosms(GSM_MultiSMSMessage *SMS,
\r
350 GSM_WAPBookmark *bookmark)
\r
352 return GSM_SaveWAPBookmarkToSMS(SMS,bookmark);
\r
355 int WINAPI mysavewapsettingstosms(GSM_MultiSMSMessage *SMS,
\r
356 GSM_WAPSettings *settings)
\r
358 return GSM_SaveWAPSettingsToSMS(SMS,settings);
\r
361 int WINAPI mysavebitmaptosms(GSM_MultiSMSMessage *SMS, GSM_Bitmap *bitmap,
\r
362 bool ScreenSaver, bool UnicodeText)
\r
364 return GSM_SaveBitmapToSMS(SMS,bitmap,ScreenSaver,UnicodeText);
\r
367 int WINAPI mysavecalendarnotetosms(GSM_MultiSMSMessage *SMS,
\r
368 GSM_CalendarNote *note)
\r
370 return GSM_SaveCalendarNoteToSMS(SMS,note);
\r
373 int WINAPI mysavephonebookentrytosms(GSM_MultiSMSMessage *SMS,
\r
374 GSM_PhonebookEntry *entry, int version)
\r
376 return GSM_SavePhonebookEntryToSMS(SMS,entry,version);
\r
379 int WINAPI mygetsecuritycode(GSM_SecurityCode *SecurityCode)
\r
381 return GSM->GetSecurityCode(SecurityCode);
\r
384 int WINAPI myreadbinringtonefile(char *FileName, GSM_BinRingtone *ringtone)
\r
386 return GSM_ReadBinRingtoneFile(FileName,ringtone);
\r
389 int WINAPI mysetbinringtone(GSM_BinRingtone *ringtone)
\r
391 return GSM->SetBinRingtone(ringtone);
\r
394 int WINAPI mygetmodelfeature (featnum_index num)
\r
396 return GetModelFeature (num);
\r
399 int WINAPI mygetwapbookmark(GSM_WAPBookmark *bookmark)
\r
401 return GSM->GetWAPBookmark(bookmark);
\r
404 int WINAPI mygetwapsettings(GSM_WAPSettings *settings)
\r
406 return GSM->GetWAPSettings(settings);
\r
409 int WINAPI mycalldivert(GSM_CallDivert *divert)
\r
411 return GSM->CallDivert(divert);
\r
414 int WINAPI mysetwapbookmark(GSM_WAPBookmark *bookmark)
\r
416 return GSM->SetWAPBookmark(bookmark);
\r