1 /* (c) 2002-2004 by Marcin Wiacek */
2 
3 #ifndef phone_nokia_h
4 #define phone_nokia_h
5 
6 #include <gammu-nokia.h>
7 
8 #include "ncommon.h"
9 #include "../../gsmstate.h"
10 
11 extern unsigned char N71_65_MEMORY_TYPES[];
12 extern GSM_Profile_PhoneTableValue Profile71_65[];
13 
14 GSM_Error NOKIA_ReplyGetPhoneString		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
15 GSM_Error N71_65_ReplyGetMemoryError		(unsigned char error     , GSM_StateMachine *s);
16 GSM_Error N71_65_ReplyWritePhonebook		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
17 GSM_Error N71_65_ReplyGetCalendarInfo1		(GSM_Protocol_Message *msg, GSM_StateMachine *s, GSM_NOKIACalToDoLocations *LastCalendar);
18 GSM_Error N71_65_ReplyGetNextCalendar1		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
19 GSM_Error N71_65_ReplyGetCalendarNotePos1	(GSM_Protocol_Message *msg, GSM_StateMachine *s,int *FirstCalendarPos);
20 GSM_Error N71_65_ReplyAddCalendar1		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
21 GSM_Error N71_65_ReplyAddCalendar2		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
22 GSM_Error N71_65_ReplyDelCalendar		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
23 GSM_Error N71_65_ReplyCallInfo			(GSM_Protocol_Message *msg, GSM_StateMachine *s);
24 GSM_Error N71_65_ReplyUSSDInfo			(GSM_Protocol_Message *msg, GSM_StateMachine *s);
25 GSM_Error DCT3DCT4_ReplyCallDivert		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
26 GSM_Error DCT3DCT4_ReplyGetActiveConnectSet	(GSM_Protocol_Message *msg, GSM_StateMachine *s);
27 GSM_Error DCT3DCT4_ReplySetActiveConnectSet	(GSM_Protocol_Message *msg, GSM_StateMachine *s);
28 GSM_Error DCT3DCT4_ReplyGetWAPBookmark		(GSM_Protocol_Message *msg, GSM_StateMachine *s, gboolean FullLength);
29 GSM_Error DCT3DCT4_ReplySetWAPBookmark		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
30 GSM_Error DCT3DCT4_ReplyDelWAPBookmark		(GSM_Protocol_Message *msg, GSM_StateMachine *s);
31 GSM_Error DCT3DCT4_ReplyEnableConnectFunc	(GSM_Protocol_Message *msg, GSM_StateMachine *s);
32 GSM_Error DCT3DCT4_ReplyDisableConnectFunc      (GSM_Protocol_Message *msg, GSM_StateMachine *s);
33 GSM_Error DCT3DCT4_ReplyGetModelFirmware	(GSM_Protocol_Message *msg, GSM_StateMachine *s);
34 GSM_Error N71_65_ReplySendDTMF			(GSM_Protocol_Message *msg, GSM_StateMachine *s);
35 
36 GSM_Error NOKIA_GetManufacturer			(GSM_StateMachine *s);
37 GSM_Error NOKIA_GetPhoneString			(GSM_StateMachine *s, const unsigned char *msgframe, int msglen, unsigned char msgtype, char *retvalue, GSM_Phone_RequestID request, int startresponse);
38 GSM_Error NOKIA_SetIncomingSMS			(GSM_StateMachine *s, gboolean enable);
39 GSM_Error NOKIA_SetIncomingCall			(GSM_StateMachine *s, gboolean enable);
40 GSM_Error NOKIA_SetIncomingUSSD			(GSM_StateMachine *s, gboolean enable);
41 GSM_Error N71_65_EnableFunctions		(GSM_StateMachine *s, const char *buff,int len);
42 GSM_Error N71_65_GetNextCalendar1		(GSM_StateMachine *s, GSM_CalendarEntry *Note, gboolean start, GSM_NOKIACalToDoLocations *LastCalendar, int *LastCalendarYear, int *LastCalendarPos);
43 GSM_Error N71_65_AddCalendar2			(GSM_StateMachine *s, GSM_CalendarEntry *Note);
44 GSM_Error N71_65_AddCalendar1			(GSM_StateMachine *s, GSM_CalendarEntry *Note, int *FirstCalendarPos);
45 GSM_Error N71_65_DelCalendar			(GSM_StateMachine *s, GSM_CalendarEntry *Note);
46 GSM_Error N71_65_GetCalendarInfo1		(GSM_StateMachine *s, GSM_NOKIACalToDoLocations *LastCalendar);
47 GSM_Error DCT3DCT4_EnableWAPFunctions		(GSM_StateMachine *s);
48 GSM_Error DCT3DCT4_SendDTMF			(GSM_StateMachine *s, char *sequence);
49 GSM_Error DCT3DCT4_DeleteWAPBookmarkPart	(GSM_StateMachine *s, GSM_WAPBookmark *bookmark);
50 GSM_Error DCT3DCT4_GetWAPBookmarkPart		(GSM_StateMachine *s, GSM_WAPBookmark *bookmark);
51 GSM_Error DCT3DCT4_DisableConnectionFunctions	(GSM_StateMachine *s);
52 GSM_Error DCT3DCT4_GetModel			(GSM_StateMachine *s);
53 GSM_Error DCT3DCT4_GetFirmware			(GSM_StateMachine *s);
54 GSM_Error DCT3DCT4_AnswerCall			(GSM_StateMachine *s, int ID);
55 GSM_Error DCT3DCT4_CancelCall			(GSM_StateMachine *s, int ID);
56 GSM_Error DCT3DCT4_GetActiveConnectSet		(GSM_StateMachine *s);
57 GSM_Error DCT3DCT4_SetActiveConnectSet		(GSM_StateMachine *s, GSM_MultiWAPSettings *settings);
58 GSM_Error DCT3DCT4_CancelAllDiverts		(GSM_StateMachine *s);
59 GSM_Error DCT3DCT4_SetCallDivert		(GSM_StateMachine *s, GSM_CallDivert *divert);
60 GSM_Error DCT3DCT4_GetCallDivert		(GSM_StateMachine *s, GSM_CallDivert *reqest, GSM_MultiCallDivert *response);
61 
62 GSM_CalendarNoteType N71_65_FindCalendarType(GSM_CalendarNoteType Type, GSM_PhoneModel *model);
63 int 		NOKIA_SetUnicodeString		(GSM_StateMachine *s, unsigned char *dest, unsigned char *string, gboolean FullLength);
64 void 		NOKIA_GetUnicodeString		(GSM_StateMachine *s, int *current, unsigned char *input, unsigned char *output, gboolean FullLength);
65 GSM_MemoryType 	NOKIA_GetMemoryType 		(GSM_StateMachine *s, GSM_MemoryType memory_type, unsigned char *ID);
66 void 		NOKIA_DecodeSMSState		(GSM_StateMachine *s, unsigned char state, GSM_SMSMessage *sms);
67 void		NOKIA_EncodeDateTime		(GSM_StateMachine *s, unsigned char* buffer, GSM_DateTime *datetime);
68 void NOKIA_DecodeDateTime(GSM_StateMachine *s, unsigned char* buffer, GSM_DateTime *datetime, gboolean seconds, gboolean DayMonthReverse);
69 void 		NOKIA_SortSMSFolderStatus	(GSM_StateMachine *s, GSM_NOKIASMSFolder *Folder);
70 void NOKIA_FindFeatureValue(GSM_StateMachine		*s,
71 			    GSM_Profile_PhoneTableValue ProfileTable[],
72   			    unsigned char 		ID,
73   			    unsigned char 		Value,
74   			    GSM_Phone_Data 		*Data,
75   			    gboolean			CallerGroups);
76 gboolean NOKIA_FindPhoneFeatureValue(GSM_StateMachine		*s,
77 				 GSM_Profile_PhoneTableValue 	ProfileTable[],
78   				 GSM_Profile_Feat_ID		FeatureID,
79   				 GSM_Profile_Feat_Value		FeatureValue,
80   			    	 unsigned char 			*PhoneID,
81   			    	 unsigned char 			*PhoneValue);
82 
83 GSM_Error N71_65_DecodePhonebook		(GSM_StateMachine	*s,
84 						 GSM_MemoryEntry 	*entry,
85   				 		 GSM_Bitmap 		*bitmap,
86   				 		 GSM_SpeedDial 		*speed,
87   				 		 unsigned char 		*MessageBuffer,
88   				 		 int 			MessageLength,
89 						 gboolean			DayMonthReverse);
90 size_t 		N71_65_EncodePhonebookFrame	(GSM_StateMachine *s, unsigned char *req, GSM_MemoryEntry *entry, size_t *block2, gboolean DCT4, gboolean VoiceTag);
91 size_t 		N71_65_PackPBKBlock		(GSM_StateMachine *s, int id, size_t size, int no, unsigned char *buf, unsigned char *block);
92 
93 #endif
94 
95 /* How should editor hadle tabs in this file? Add editor commands here.
96  * vim: noexpandtab sw=8 ts=8 sts=8:
97  */
98