This commit was manufactured by cvs2svn to create tag
[gnokii.git] / win32_makefile / dll_vc6 / gnokiiapi.c
1 /*\r
2   G N O K I I\r
3 \r
4   A Linux/Unix toolset and driver for Nokia mobile phones.\r
5 \r
6   Released under the terms of the GNU GPL, see file COPYING for more details.\r
7 \r
8 */\r
9 \r
10 #include <stdio.h>\r
11 #include <stdlib.h>\r
12 #include <signal.h>\r
13 #include <string.h>\r
14 #include <ctype.h>\r
15 #include <time.h>\r
16 #include <sys/stat.h>\r
17 \r
18 #ifndef VC6\r
19   #if defined(__svr4__) || defined(__FreeBSD__)\r
20   #  include <strings.h>        /* for bzero */\r
21   #endif\r
22 #endif\r
23 \r
24 #ifdef WIN32\r
25 \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
29   #include "getopt.h"\r
30 \r
31   #define DEV_CONSOLE "CON:"\r
32 \r
33 #else\r
34 \r
35   #include <unistd.h>\r
36   #include <termios.h>\r
37   #include <fcntl.h>\r
38   #include <sys/types.h>\r
39   #include <sys/time.h>\r
40   #include <getopt.h>\r
41 \r
42   #define DEV_CONSOLE "/dev/tty"\r
43 #endif\r
44 \r
45 #include "misc.h"\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
56 \r
57 #include "mversion.h"\r
58 \r
59 #ifdef USE_NLS\r
60   #include <locale.h>\r
61 #endif\r
62 \r
63 extern GSM_Network GSM_Networks[];\r
64 \r
65 int WINAPI myinitialize (char *port, char *model, int connectiontype)\r
66 {\r
67   return GSM_Initialise(model, port, "30", connectiontype, NULL, "no");\r
68 }\r
69 \r
70 int WINAPI mygetnetworkinfo (GSM_NetworkInfo *NetworkInfo)\r
71 {\r
72   return GSM->GetNetworkInfo(NetworkInfo);\r
73 }\r
74 \r
75 int WINAPI myterminate ()\r
76 {\r
77   GSM->Terminate();\r
78   return 0;\r
79 }\r
80 \r
81 int WINAPI mygetnetworkname(char *NetworkName, char *NetworkCode)\r
82 {\r
83   strcpy(NetworkName,GSM_GetNetworkName(NetworkCode));\r
84   return 0;\r
85 }\r
86 \r
87 int WINAPI mynetmonitor(int mode, char *Screen)\r
88 {\r
89   return GSM->NetMonitor(mode, Screen);\r
90 }\r
91 \r
92 int WINAPI mygetmemorylocation(GSM_PhonebookEntry *entry)\r
93 {\r
94   return GSM->GetMemoryLocation(entry);\r
95 }\r
96 \r
97 int WINAPI mywritephonebooklocation(GSM_PhonebookEntry *entry)\r
98 {\r
99   return GSM->WritePhonebookLocation(entry);\r
100 }\r
101 \r
102 int WINAPI mygetmemorystatus(GSM_MemoryStatus *Status)\r
103 {\r
104   return GSM->GetMemoryStatus(Status);\r
105 }\r
106 \r
107 int WINAPI myreadringtonefile(char *FileName, GSM_Ringtone *ringtone)\r
108 {\r
109   return GSM_ReadRingtoneFile(FileName, ringtone);\r
110 }\r
111 \r
112 int WINAPI myplayringtone(GSM_Ringtone *ringtone)\r
113 {\r
114   GSM_PlayRingtone(ringtone);\r
115   return 0;\r
116 }\r
117 \r
118 int WINAPI myplaynote(GSM_RingtoneNote note)\r
119 {\r
120   GSM_PlayOneNote(note);\r
121   return 0;\r
122 }\r
123 \r
124 int WINAPI myreadbitmapfile(char *FileName, GSM_Bitmap *bitmap)\r
125 {\r
126   return GSM_ReadBitmapFile(FileName, bitmap);\r
127 }\r
128 \r
129 int WINAPI mysavebitmapfile(char *FileName, GSM_Bitmap *bitmap)\r
130 {\r
131   return GSM_SaveBitmapFile(FileName, bitmap);\r
132 }\r
133 \r
134 bool WINAPI myispointbitmap(GSM_Bitmap *bitmap,int x, int y)\r
135 {\r
136   return GSM_IsPointBitmap(bitmap,x,y);\r
137 }\r
138 \r
139 int WINAPI mygetimei(char *IMEI)\r
140 {\r
141   return GSM->GetIMEI(IMEI);\r
142 }\r
143 \r
144 int WINAPI mygetrevision(char *revision)\r
145 {\r
146   return GSM->GetRevision(revision);\r
147 }\r
148 \r
149 int WINAPI mygetmodel(char *model)\r
150 {\r
151   return GSM->GetModel(model);\r
152 }\r
153 \r
154 int WINAPI mygetmodelnumber(char *model,char *model2)\r
155 {\r
156   strcpy(model2,GetModelName(model));\r
157   return 0;\r
158 }\r
159 \r
160 int WINAPI mysetringtone(GSM_Ringtone *ringtone, int *notes)\r
161 {\r
162   return GSM->SetRingtone(ringtone,notes);\r
163 }\r
164 \r
165 int WINAPI mygetdllversion(char *version)\r
166 {\r
167   strcpy(version,VERSION);\r
168   return 0;\r
169 }\r
170 \r
171 int WINAPI mysetpointbitmap(GSM_Bitmap *bmp, int x, int y)\r
172 {\r
173   GSM_SetPointBitmap(bmp,x,y);\r
174   return 0;\r
175 }\r
176 \r
177 int WINAPI myclearpointbitmap(GSM_Bitmap *bmp, int x, int y)\r
178 {\r
179   GSM_ClearPointBitmap(bmp,x,y);\r
180   return 0;\r
181 }\r
182 \r
183 int WINAPI myclearbitmap(GSM_Bitmap *bmp)\r
184 {\r
185   GSM_ClearBitmap(bmp);\r
186   return 0;\r
187 }\r
188 \r
189 int WINAPI myresizebitmap (GSM_Bitmap *bitmap, GSM_Bitmap_Types target)\r
190 {\r
191   GSM_ResizeBitmap(bitmap,target);\r
192   return 0;\r
193 }\r
194 \r
195 int WINAPI mysetbitmap(GSM_Bitmap *Bitmap)\r
196 {\r
197   return GSM->SetBitmap(Bitmap);\r
198 }\r
199 \r
200 int WINAPI mygetbitmap(GSM_Bitmap *Bitmap)\r
201 {\r
202   return GSM->GetBitmap(Bitmap);\r
203 }\r
204 \r
205 int WINAPI mygetnetworkdata(int number, char *Name, char *Code)\r
206 {\r
207   strcpy(Name,GSM_Networks[number].Name);\r
208   strcpy(Code,GSM_Networks[number].Code);\r
209   return 0;\r
210 }\r
211 \r
212 int WINAPI mygetnetworkcode(char *NetworkName, char *NetworkCode)\r
213 {\r
214   strcpy(NetworkCode,GSM_GetNetworkCode(NetworkName));\r
215   return 0;\r
216 }\r
217 \r
218 int WINAPI mygetspeeddial(GSM_SpeedDial *entry)\r
219 {\r
220   return GSM->GetSpeedDial(entry);\r
221 }\r
222 \r
223 int WINAPI myreset(unsigned char type)\r
224 {\r
225   return GSM->Reset(type);\r
226 }\r
227 \r
228 int WINAPI mygetcalendarnote(GSM_CalendarNote *note)\r
229 {\r
230   return GSM->GetCalendarNote(note);\r
231 }\r
232 \r
233 int WINAPI mygetsmscenter(GSM_MessageCenter *center)\r
234 {\r
235   return GSM->GetSMSCenter(center);\r
236 }\r
237 \r
238 int WINAPI mysetsmscenter(GSM_MessageCenter *center)\r
239 {\r
240   return GSM->SetSMSCenter(center);\r
241 }\r
242 \r
243 int WINAPI mygetalarm(int alarm_number, GSM_DateTime *alarm)\r
244 {\r
245   return GSM->GetAlarm(alarm_number,alarm);\r
246 }\r
247 \r
248 int WINAPI mygetprofile(GSM_Profile *profile)\r
249 {\r
250   return GSM->GetProfile(profile);\r
251 }\r
252 \r
253 int WINAPI mygetsimlock(GSM_AllSimlocks *simlocks)\r
254 {\r
255   return GSM->SimlockInfo(simlocks);\r
256 }\r
257 \r
258 int WINAPI mygetsmsstatus(GSM_SMSStatus *status)\r
259 {\r
260   return GSM->GetSMSStatus(status);\r
261 }\r
262 \r
263 int WINAPI mygetsmsfolders(GSM_SMSFolders *folders)\r
264 {\r
265   return GSM->GetSMSFolders(folders);\r
266 }\r
267 \r
268 int WINAPI mygetsmsmessage(GSM_SMSMessage *sms)\r
269 {\r
270   return GSM->GetSMSMessage(sms);\r
271 }\r
272 \r
273 int WINAPI mywritecalendarnote(GSM_CalendarNote *note)\r
274 {\r
275   return GSM->WriteCalendarNote(note);\r
276 }\r
277 \r
278 int WINAPI mydeletecalendarnote(GSM_CalendarNote *note)\r
279 {\r
280   return GSM->DeleteCalendarNote(note);\r
281 }\r
282 \r
283 int WINAPI mysavesmsmessage(GSM_SMSMessage *sms)\r
284 {\r
285   return GSM->SaveSMSMessage(sms);\r
286 }\r
287 \r
288 int WINAPI mysendsmsmessage(GSM_SMSMessage *sms)\r
289 {\r
290   return GSM->SendSMSMessage(sms);\r
291 }\r
292 \r
293 int WINAPI mydeletesmsmessage(GSM_SMSMessage *sms)\r
294 {\r
295   return GSM->DeleteSMSMessage(sms);\r
296 }\r
297 \r
298 int WINAPI mygettempo(int beats)\r
299 {\r
300   GSM_GetTempo(beats);\r
301   return 0;\r
302 }\r
303 \r
304 int WINAPI myplaytone(int Herz, u8 Volume)\r
305 {\r
306   return GSM->PlayTone(Herz,Volume);\r
307 }\r
308 \r
309 int WINAPI myreadconfig(char *model, char *port, char *initlength,\r
310                char *connection, char *synchronizetime)\r
311 {\r
312   char *model0;\r
313   char *port0;\r
314   char *initlength0;\r
315   char *connection0;\r
316   char *bindir0;\r
317   char *synchronizetime0;\r
318 \r
319   CFG_ReadConfig(&model0, &port0, &initlength0,&connection0,&bindir0,&synchronizetime0,false);\r
320 \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
326 \r
327   return 0;\r
328 }\r
329 \r
330 int WINAPI mysetlocale(char *locale)\r
331 {\r
332   setlocale(LC_ALL, locale);\r
333   return 0;\r
334 }\r
335 \r
336 int WINAPI mymakemultipartsms2(GSM_MultiSMSMessage *SMS,\r
337     u8 *MessageBuffer,int MessageLength, GSM_UDH UDHType, GSM_Coding_Type Coding)\r
338 {\r
339   GSM_MakeMultiPartSMS2(SMS,MessageBuffer,MessageLength,UDHType,Coding);\r
340   return 0;\r
341 }\r
342 \r
343 int WINAPI mysaveringtonetosms(GSM_MultiSMSMessage *SMS,\r
344                           GSM_Ringtone *ringtone, bool profilestyle)\r
345 {\r
346   return GSM_SaveRingtoneToSMS(SMS,ringtone,profilestyle);\r
347 }\r
348 \r
349 int WINAPI mysavewapbookmarktosms(GSM_MultiSMSMessage *SMS,\r
350                                   GSM_WAPBookmark *bookmark)\r
351 {\r
352   return GSM_SaveWAPBookmarkToSMS(SMS,bookmark);\r
353 }\r
354 \r
355 int WINAPI mysavewapsettingstosms(GSM_MultiSMSMessage *SMS,\r
356                                   GSM_WAPSettings *settings)\r
357 {\r
358   return GSM_SaveWAPSettingsToSMS(SMS,settings);\r
359 }\r
360 \r
361 int WINAPI mysavebitmaptosms(GSM_MultiSMSMessage *SMS, GSM_Bitmap *bitmap,\r
362                         bool ScreenSaver, bool UnicodeText)\r
363 {\r
364   return GSM_SaveBitmapToSMS(SMS,bitmap,ScreenSaver,UnicodeText);\r
365 }\r
366 \r
367 int WINAPI mysavecalendarnotetosms(GSM_MultiSMSMessage *SMS,\r
368                               GSM_CalendarNote *note)\r
369 {\r
370   return GSM_SaveCalendarNoteToSMS(SMS,note);\r
371 }\r
372 \r
373 int WINAPI mysavephonebookentrytosms(GSM_MultiSMSMessage *SMS,\r
374                                 GSM_PhonebookEntry *entry, int version)\r
375 {\r
376   return GSM_SavePhonebookEntryToSMS(SMS,entry,version);\r
377 }\r
378 \r
379 int WINAPI mygetsecuritycode(GSM_SecurityCode *SecurityCode)\r
380 {\r
381   return GSM->GetSecurityCode(SecurityCode);\r
382 }\r
383 \r
384 int WINAPI myreadbinringtonefile(char *FileName, GSM_BinRingtone *ringtone)\r
385 {\r
386   return GSM_ReadBinRingtoneFile(FileName,ringtone);\r
387 }\r
388 \r
389 int WINAPI mysetbinringtone(GSM_BinRingtone *ringtone)\r
390 {\r
391   return GSM->SetBinRingtone(ringtone);\r
392 }\r
393 \r
394 int WINAPI mygetmodelfeature (featnum_index num)\r
395 {\r
396   return GetModelFeature (num);\r
397 }\r
398 \r
399 int WINAPI mygetwapbookmark(GSM_WAPBookmark *bookmark)\r
400 {\r
401   return GSM->GetWAPBookmark(bookmark);\r
402 }\r
403 \r
404 int WINAPI mygetwapsettings(GSM_WAPSettings *settings)\r
405 {\r
406   return GSM->GetWAPSettings(settings);\r
407 }\r
408 \r
409 int WINAPI mycalldivert(GSM_CallDivert *divert)\r
410 {\r
411   return GSM->CallDivert(divert);\r
412 }\r
413 \r
414 int WINAPI mysetwapbookmark(GSM_WAPBookmark *bookmark)\r
415 {\r
416   return GSM->SetWAPBookmark(bookmark);\r
417 }\r
418 \r
419 int WINAPI mysavebackupfile(char *FileName, GSM_Backup *backup)\r
420 {\r
421   return GSM_SaveBackupFile(FileName,backup);\r
422 }\r
423 \r
424 int WINAPI myreadbackupfile(char *FileName, GSM_Backup *backup)\r
425 {\r
426   return GSM_ReadBackupFile(FileName,backup);\r
427 }\r
428 \r
429 int WINAPI mygetphoneringtone(GSM_BinRingtone *ringtone,GSM_Ringtone *SMringtone)\r
430 {\r
431   return GSM_GetPhoneRingtone(ringtone,SMringtone);\r
432 }\r
433 \r
434 int WINAPI mysaveringtonefile(char *FileName, GSM_Ringtone *ringtone)\r
435 {\r
436   return GSM_SaveRingtoneFile(FileName,ringtone);\r
437 }\r
438 \r
439 int WINAPI mysavebinringtonefile(char *FileName, GSM_BinRingtone *ringtone)\r
440 {\r
441   return GSM_SaveBinRingtoneFile(FileName,ringtone);\r
442 }\r
443 \r
444 int WINAPI mydialvoice(char *Number)\r
445 {\r
446   return GSM->DialVoice(Number);\r
447 }\r
448 \r