📄 common.h
字号:
/* settings */typedef enum { GN_WAP_SESSION_TEMPORARY = 0, GN_WAP_SESSION_PERMANENT} gn_wap_session;typedef enum { GN_WAP_AUTH_NORMAL = 0, GN_WAP_AUTH_SECURE} gn_wap_authentication;typedef enum { GN_WAP_BEARER_GSMDATA = 1, GN_WAP_BEARER_GPRS = 3, GN_WAP_BEARER_SMS = 7, GN_WAP_BEARER_USSD = 9 /* FIXME real value? */} gn_wap_bearer;typedef enum { GN_WAP_CALL_ANALOGUE, GN_WAP_CALL_ISDN} gn_wap_call_type;typedef enum { GN_WAP_CALL_AUTOMATIC, GN_WAP_CALL_9600, GN_WAP_CALL_14400} gn_wap_call_speed;typedef enum { GN_WAP_LOGIN_MANUAL, GN_WAP_LOGIN_AUTOLOG} gn_wap_login;typedef enum { GN_WAP_GPRS_ALWAYS, GN_WAP_GPRS_WHENNEEDED} gn_wap_gprs;typedef struct { int read_before_write; int location; int successors[4]; char number [WAP_SETTING_NAME_MAX_LENGTH]; char gsm_data_ip [WAP_SETTING_NAME_MAX_LENGTH]; char gprs_ip [WAP_SETTING_NAME_MAX_LENGTH]; char name [WAP_SETTING_NAME_MAX_LENGTH]; char home [WAP_SETTING_HOME_MAX_LENGTH]; char gsm_data_username [WAP_SETTING_USERNAME_MAX_LENGTH]; char gsm_data_password [WAP_SETTING_NAME_MAX_LENGTH]; char gprs_username [WAP_SETTING_USERNAME_MAX_LENGTH]; char gprs_password [WAP_SETTING_NAME_MAX_LENGTH]; char access_point_name [WAP_SETTING_APN_MAX_LENGTH]; char sms_service_number [WAP_SETTING_NAME_MAX_LENGTH]; char sms_server_number [WAP_SETTING_NAME_MAX_LENGTH]; gn_wap_session session; int security; gn_wap_bearer bearer; gn_wap_authentication gsm_data_authentication; gn_wap_authentication gprs_authentication; gn_wap_call_type call_type; gn_wap_call_speed call_speed; gn_wap_login gsm_data_login; gn_wap_login gprs_login; gn_wap_gprs gprs_connection;} gn_wap_setting;/* This structure is provided to allow common information about the particular model to be looked up in a model independant way. Some of the values here define minimum and maximum levels for values retrieved by the various Get functions for example battery level. They are not defined as constants to allow model specific code to set them during initialisation */typedef struct { unsigned char *models; /* Models covered by this type, pipe '|' delimited. */ /* Minimum and maximum levels for RF signal strength. Units are as per the setting of RFLevelUnits. The setting of RFLevelUnits indicates the default or "native" units used. In the case of the 3110 and 6110 series these are arbitrary, ranging from 0 to 4. */ float max_rf_level; float min_rf_level; gn_rf_unit rf_level_unit; /* Minimum and maximum levels for battery level. Again, units are as per the setting of GSM_BatteryLevelUnits. The value that BatteryLevelUnits is set to indicates the "native" or default value that the phone supports. In the case of the 3110 and 6110 series these are arbitrary, ranging from 0 to 4. */ float max_battery_level; float min_battery_level; gn_battery_unit battery_level_unit; /* Information about date, time and alarm support. In case of alarm information we provide value for the number of alarms supported. */ gn_datetime_support datetime_support; gn_datetime_support alarm_support; int maximum_alarms_number; unsigned int startup_logo_height; /* Logo widths and heights - if supported */ unsigned int startup_logo_width; unsigned int operator_logo_height; unsigned int operator_logo_width; unsigned int caller_logo_height; unsigned int caller_logo_width;} gn_phone;typedef enum { GN_PROFILE_MESSAGE_NoTone = 0x00, GN_PROFILE_MESSAGE_Standard = 0x01, GN_PROFILE_MESSAGE_Special = 0x02, GN_PROFILE_MESSAGE_BeepOnce = 0x03, GN_PROFILE_MESSAGE_Ascending = 0x04} gn_profile_message_type;typedef enum { GN_PROFILE_WARNING_Off = 0xff, GN_PROFILE_WARNING_On = 0x04} gn_profile_warning_type;typedef enum { GN_PROFILE_VIBRATION_Off = 0x00, GN_PROFILE_VIBRATION_On = 0x01} gn_profile_vibration_type;typedef enum { GN_PROFILE_CALLALERT_Ringing = 0x01, GN_PROFILE_CALLALERT_BeepOnce = 0x02, GN_PROFILE_CALLALERT_Off = 0x04, GN_PROFILE_CALLALERT_RingOnce = 0x05, GN_PROFILE_CALLALERT_Ascending = 0x06, GN_PROFILE_CALLALERT_CallerGroups = 0x07} gn_profile_callalert_type;typedef enum { GN_PROFILE_KEYVOL_Off = 0xff, GN_PROFILE_KEYVOL_Level1 = 0x00, GN_PROFILE_KEYVOL_Level2 = 0x01, GN_PROFILE_KEYVOL_Level3 = 0x02} gn_profile_keyvol_type;typedef enum { GN_PROFILE_VOLUME_Level1 = 0x06, GN_PROFILE_VOLUME_Level2 = 0x07, GN_PROFILE_VOLUME_Level3 = 0x08, GN_PROFILE_VOLUME_Level4 = 0x09, GN_PROFILE_VOLUME_Level5 = 0x0a,} gn_profile_volume_type;/* Structure to hold profile entries. */typedef struct { int number; /* The number of the profile. */ char name[40]; /* The name of the profile. */ int default_name; /* 0-6, when default name is used, -1, when not. */ int keypad_tone; /* Volume level for keypad tones. */ int lights; /* Lights on/off. */ int call_alert; /* Incoming call alert. */ int ringtone; /* Ringtone for incoming call alert. */ int volume; /* Volume of the ringing. */ int message_tone; /* The tone for message indication. */ int warning_tone; /* The tone for warning messages. */ int vibration; /* Vibration? */ int caller_groups; /* CallerGroups. */ int automatic_answer; /* Does the phone auto-answer incoming call? */} gn_profile;/* Limits for IMEI, Revision and Model string storage. */#define GN_IMEI_MAX_LENGTH 20#define GN_REVISION_MAX_LENGTH 20#define GN_MODEL_MAX_LENGTH 20#define GN_BCD_STRING_MAX_LENGTH 40/* This data-type is used to specify the type of the number. See the official GSM specification 03.40, version 6.1.0, section 9.1.2.5, page 35-37. */typedef enum { GN_GSM_NUMBER_Unknown = 0x81, /* Unknown number */ GN_GSM_NUMBER_International = 0x91, /* International number */ GN_GSM_NUMBER_National = 0xa1, /* National number */ GN_GSM_NUMBER_Network = 0xb1, /* Network specific number */ GN_GSM_NUMBER_Subscriber = 0xc1, /* Subscriber number */ GN_GSM_NUMBER_Alphanumeric = 0xd0, /* Alphanumeric number */ GN_GSM_NUMBER_Abbreviated = 0xe1 /* Abbreviated number */} gn_gsm_number_type;typedef struct { gn_gsm_number_type type; char number[GN_BCD_STRING_MAX_LENGTH];} gn_gsm_number;/* Data structures for the call divert */typedef enum { GN_CDV_Busy = 0x01, GN_CDV_NoAnswer, GN_CDV_OutOfReach, GN_CDV_NotAvailable, GN_CDV_AllTypes} gn_call_divert_type;typedef enum { GN_CDV_VoiceCalls = 0x01, GN_CDV_FaxCalls, GN_CDV_DataCalls, GN_CDV_AllCalls} gn_call_divert_call_type;typedef enum { GN_CDV_Disable = 0x00, GN_CDV_Enable = 0x01, GN_CDV_Query = 0x02, GN_CDV_Register = 0x03, GN_CDV_Erasure = 0x04} gn_call_divert_operation;typedef struct { gn_call_divert_type type; gn_call_divert_call_type ctype; gn_call_divert_operation operation; gn_gsm_number number; unsigned int timeout;} gn_call_divert;typedef struct { int full; /* indicates if we have full data read */ unsigned int length; unsigned char *data;} gn_raw_data;/* This enum is used for display status. */typedef enum { GN_DISP_Call_In_Progress, /* Call in progress. */ GN_DISP_Unknown, /* The meaning is unknown now :-( */ GN_DISP_Unread_SMS, /* There is Unread SMS. */ GN_DISP_Voice_Call, /* Voice call active. */ GN_DISP_Fax_Call, /* Fax call active. */ GN_DISP_Data_Call, /* Data call active. */ GN_DISP_Keyboard_Lock, /* Keyboard lock status. */ GN_DISP_SMS_Storage_Full /* Full SMS Memory. */} gn_display_status;#define GN_DRAW_SCREEN_MAX_WIDTH 27#define GN_DRAW_SCREEN_MAX_HEIGHT 6typedef enum { GN_DISP_DRAW_Clear, GN_DISP_DRAW_Text, GN_DISP_DRAW_Status} gn_display_draw_command;typedef struct { int x; int y; unsigned char text[GN_DRAW_SCREEN_MAX_WIDTH + 1];} gn_display_text;typedef struct { gn_display_draw_command cmd; union { gn_display_text text; gn_display_status status; } data;} gn_display_draw_msg;typedef struct { void (*output_fn)(gn_display_draw_msg *draw); int state; struct timeval last;} gn_display_output;typedef enum { GN_KEY_NONE = 0x00, GN_KEY_1 = 0x01, GN_KEY_2, GN_KEY_3, GN_KEY_4, GN_KEY_5, GN_KEY_6, GN_KEY_7, GN_KEY_8, GN_KEY_9, GN_KEY_0, GN_KEY_HASH, GN_KEY_ASTERISK, GN_KEY_POWER, GN_KEY_GREEN, GN_KEY_RED, GN_KEY_INCREASEVOLUME, GN_KEY_DECREASEVOLUME, GN_KEY_UP = 0x17, GN_KEY_DOWN, GN_KEY_MENU, GN_KEY_NAMES} gn_key_code;typedef struct { int field; char screen[50];} gn_netmonitor;typedef struct { int userlock; /* TRUE = user lock, FALSE = factory lock */ int closed; char data[12]; int counter;} gn_locks_info;typedef struct { int frequency; int volume;} gn_tone;#define GN_RINGTONE_MAX_NAME 20#define GN_RINGTONE_MAX_COUNT 256typedef struct { int location; char name[20]; int user_defined; int readable; int writable;} gn_ringtone_info;typedef struct { int count; int userdef_location; int userdef_count; gn_ringtone_info ringtone[GN_RINGTONE_MAX_COUNT];} gn_ringtone_list;typedef enum { GN_LOG_T_NONE = 0, GN_LOG_T_STDERR = 1} gn_log_target;#endif /* _gnokii_common_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -