X-Git-Url: http://git.jankratochvil.net/?p=gnokii.git;a=blobdiff_plain;f=include%2Fnewmodules%2Fn6110.h;fp=include%2Fnewmodules%2Fn6110.h;h=34a39886593e105c5dad7ac197a89a8627fa450a;hp=0000000000000000000000000000000000000000;hb=2e0972b02d101bb0d8e9d3e15d2ac80def491a63;hpb=cc37b87508c91b5d4f21fd4bbc298104ae7de1dc diff --git a/include/newmodules/n6110.h b/include/newmodules/n6110.h new file mode 100644 index 0000000..34a3988 --- /dev/null +++ b/include/newmodules/n6110.h @@ -0,0 +1,218 @@ +/* + + G N O K I I + + A Linux/Unix toolset and driver for Nokia mobile phones. + + Released under the terms of the GNU GPL, see file COPYING for more details. + + Header file for the various functions, definitions etc. used to implement + the handset interface. See fbus-6110.c for more details. + +*/ + +#ifndef __n_6110_h +#define __n_6110_h + +#include "gsm-api.h" + +/* Nokia 6110 supports phonebook entries of max. 16 characters and numbers of + max. 30 digits */ +#define N6110_MAX_PHONEBOOK_NAME_LENGTH (16) +#define N6110_MAX_PHONEBOOK_NUMBER_LENGTH (30) + +/* Alternate defines for memory types. Two letter codes follow GSM 07.07 + release 6.2.0, AT+CPBS "Select Phonebook Memory Storage" */ +#define N6110_MEMORY_MT 0x01 /* combined ME and SIM phonebook */ +#define N6110_MEMORY_ME 0x02 /* ME (Mobile Equipment) phonebook */ +#define N6110_MEMORY_SM 0x03 /* SIM phonebook */ +#define N6110_MEMORY_FD 0x04 /* SIM fixdialling-phonebook */ +#define N6110_MEMORY_ON 0x05 /* SIM (or ME) own numbers list */ +#define N6110_MEMORY_EN 0x06 /* SIM (or ME) emergency number */ +#define N6110_MEMORY_DC 0x07 /* ME dialled calls list */ +#define N6110_MEMORY_RC 0x08 /* ME received calls list */ +#define N6110_MEMORY_MC 0x09 /* ME missed (unanswered received) calls list */ +#define N6110_MEMORY_VOICE 0x0b /* Voice Mailbox */ +#define N6110_MEMORY_XX 0xff /* This is used when the memory type is unknown. */ + +/* This byte is used to synchronize FBUS channel over cable or IR. */ +#define N6110_SYNC_BYTE 0x55 + +/* This byte is send after all N6110_SYNC_BYTE bytes when init infrared. */ +#define N6110_IR_END_SYNC_BYTE 0xc1 + +/* Every (well, almost every) frame from the computer starts with this + sequence. */ +#define N6110_FRAME_HEADER 0x00, 0x01, 0x00 + +/* Global variables */ +extern bool N6110_LinkOK; +extern GSM_Functions N6110_Functions; +extern GSM_Information N6110_Information; + +/* Prototypes for the functions designed to be used externally. */ +GSM_Error N6110_Initialise(char *port_device, char *initlength, + GSM_ConnectionType connection, + void (*rlp_callback)(RLP_F96Frame *frame)); + +void N6110_DispatchMessage(u16 MessageLength, u8 *MessageBuffer, + u8 MessageType); + +GSM_Error N6110_SendStatusRequest(void); + +int N6110_GetMemoryType(GSM_MemoryType memory_type); + +GSM_Error N6110_GetVoiceMailbox ( GSM_PhonebookEntry *entry); + +GSM_Error N6110_GetOperatorName ( GSM_Network *operator); +GSM_Error N6110_SetOperatorName ( GSM_Network *operator); + +GSM_Error N6110_GetMemoryLocation(GSM_PhonebookEntry *entry); +GSM_Error N6110_WritePhonebookLocation(GSM_PhonebookEntry *entry); + +GSM_Error N6110_GetSpeedDial(GSM_SpeedDial *entry); +GSM_Error N6110_SetSpeedDial(GSM_SpeedDial *entry); + +GSM_Error N6110_GetMemoryStatus(GSM_MemoryStatus *Status); +GSM_Error N6110_GetSMSStatus(GSM_SMSStatus *Status); +GSM_Error N6110_GetSMSCenter(GSM_MessageCenter *MessageCenter); + +GSM_Error N6110_GetSMSMessage(GSM_SMSMessage *Message); +GSM_Error N6110_DeleteSMSMessage(GSM_SMSMessage *Message); +GSM_Error N6110_SendSMSMessage(GSM_SMSMessage *Message); +GSM_Error N6110_SaveSMSMessage(GSM_SMSMessage *Message); + +GSM_Error N6110_GetRFLevel(GSM_RFUnits *units, float *level); +GSM_Error N6110_GetBatteryLevel(GSM_BatteryUnits *units, float *level); +GSM_Error N6110_GetPowerSource(GSM_PowerSource *source); +GSM_Error N6110_GetDisplayStatus(int *Status); + +GSM_Error N6110_EnterSecurityCode(GSM_SecurityCode SecurityCode); +GSM_Error N6110_GetSecurityCodeStatus(int *Status); +GSM_Error N6110_GetSecurityCode(GSM_SecurityCode *SecurityCode); + +GSM_Error N6110_GetSMSCenter(GSM_MessageCenter *MessageCenter); +GSM_Error N6110_SetSMSCenter(GSM_MessageCenter *MessageCenter); + +GSM_Error N6110_GetIMEI(char *imei); +GSM_Error N6110_GetRevision(char *revision); +GSM_Error N6110_GetModel(char *model); +GSM_Error N6110_GetManufacturer(char *manufacturer); + +GSM_Error N6110_GetDateTime(GSM_DateTime *date_time); +GSM_Error N6110_SetDateTime(GSM_DateTime *date_time); + +GSM_Error N6110_PrivGetDateTime(GSM_DateTime *date_time, int msgtype); +GSM_Error N6110_PrivSetDateTime(GSM_DateTime *date_time, int msgtype); + +GSM_Error N6110_GetAlarm(int alarm_number, GSM_DateTime *date_time); +GSM_Error N6110_SetAlarm(int alarm_number, GSM_DateTime *date_time); + +GSM_Error N6110_PrivGetAlarm(int alarm_number, GSM_DateTime *date_time, int msgtype); +GSM_Error N6110_PrivSetAlarm(int alarm_number, GSM_DateTime *date_time, int msgtype); + +GSM_Error N6110_DialVoice(char *Number); +GSM_Error N6110_DialData(char *Number, char type, void (* callpassup)(char c)); +GSM_Error N6110_AnswerCall(char s); + +GSM_Error N6110_GetIncomingCallNr(char *Number); + +GSM_Error N6110_SendBitmap(char *NetworkCode, int width, int height, + unsigned char *bitmap); +GSM_Error N6110_GetNetworkInfo(GSM_NetworkInfo *NetworkInfo); + +GSM_Error N6110_GetCalendarNote(GSM_CalendarNote *CalendarNote); +GSM_Error N6110_WriteCalendarNote(GSM_CalendarNote *CalendarNote); +GSM_Error N6110_DeleteCalendarNote(GSM_CalendarNote *CalendarNote); + +GSM_Error N6110_NetMonitor(unsigned char mode, char *Screen); + +GSM_Error N6110_PlayTone(int Herz, u8 Volume); + +GSM_Error N6110_SetBitmap( GSM_Bitmap *Bitmap ); +GSM_Error N6110_GetBitmap( GSM_Bitmap *Bitmap ); + +GSM_Error N6110_SetRingTone(GSM_Ringtone *ringtone, int *maxlength); +GSM_Error N6110_SetBinRingTone(GSM_BinRingtone *ringtone); +GSM_Error N6110_GetBinRingTone(GSM_BinRingtone *ringtone); + +GSM_Error N6110_EnableDisplayOutput(); +GSM_Error N6110_DisableDisplayOutput(); + +GSM_Error N6110_EnableCellBroadcast (); +GSM_Error N6110_DisableCellBroadcast(void); +GSM_Error N6110_ReadCellBroadcast (GSM_CBMessage *Message); + +GSM_Error N6110_SendDTMF(char *String); + +GSM_Error N6110_Reset(unsigned char type); + +GSM_Error N6110_GetProfile(GSM_Profile *Profile); +GSM_Error N6110_SetProfile(GSM_Profile *Profile); +bool N6110_SendRLPFrame(RLP_F96Frame *frame, bool out_dtx); + +GSM_Error N6110_CancelCall(void); + +GSM_Error N6110_PressKey(int key, int event); + +GSM_Error N6110_GetProductProfileSetting (GSM_PPS *PPS); +GSM_Error N6110_SetProductProfileSetting (GSM_PPS *PPS); + +GSM_Error N6110_CallDivert(GSM_CallDivert *cd); + +void N6110_RX_HandleRLPMessage(u8 *MessageBuffer); + +GSM_Error N6110_SendIMEIFrame(); +GSM_Error N6110_SendIDFrame(); +GSM_Error N6110_SendHWFrame(); + +GSM_Error N6110_EnableExtendedCommands (unsigned char status); + +GSM_Error N6110_Tests(); + +void N6110_DisplayTestsInfo(u8 *MessageBuffer); + +GSM_Error N6110_SimlockInfo(GSM_AllSimlocks *siml); +GSM_Error N6110_GetSMSFolders ( GSM_SMSFolders *folders); + +GSM_Error N6110_ResetPhoneSettings(); + +void N6110_Dispatch0x01Message(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); + +void N6110_ReplySendSMSMessage(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_ReplySetSMSCenter (u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_ReplyGetSMSCenter (u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_Dispatch0x02Message(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_ReplySetCellBroadcast (u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_ReplyReadCellBroadcast(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); + +void N6110_ReplyCallDivert (u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_Dispatch0x06Message(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); + +void N6110_ReplySetDateTime(u16 MessageLength,u8 *MessageBuffer, u8 MessageType); +void N6110_ReplyGetDateTime(u16 MessageLength,u8 *MessageBuffer, u8 MessageType); +void N6110_ReplySetAlarm (u16 MessageLength,u8 *MessageBuffer, u8 MessageType); +void N6110_ReplyGetAlarm (u16 MessageLength,u8 *MessageBuffer, u8 MessageType); + +void N6110_ReplyEnableExtendedCommands (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyResetPhoneSettings (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyIMEI (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyGetProductProfileSetting(u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplySetProductProfileSetting(u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyNetmonitor (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplySimlockInfo (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyPlayTone (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_ReplyHW (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); +void N6110_Dispatch0x40Message (u16 MessageLength,u8 *MessageBuffer,u8 MessageType); + +void N6110_DispatchACKMessage (u16 MessageLength, u8 *MessageBuffer, u8 MessageType); +void N6110_ReplyID(u16 MessageLength, u8 *MessageBuffer, u8 MessageType); + +GSM_Error GSM_EncodeNokiaSMSFrame(GSM_SMSMessage *SMS, unsigned char *req, int *length, SMS_MessageType PDU); +GSM_Error GSM_DecodeNokiaSMSFrame(GSM_SMSMessage *SMS, unsigned char *req, int length); + +int N6110_MakeCallerGroupFrame (unsigned char *req,GSM_Bitmap Bitmap); +int N6110_MakeOperatorLogoFrame(unsigned char *req,GSM_Bitmap Bitmap); +int N6110_MakeStartupLogoFrame (unsigned char *req,GSM_Bitmap Bitmap); + +#endif /* __n_6110_h */