FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/cdginc/m_mm.val @ 78:c632896652ba
mfw/ti1_key.c: properly initialize notified_keys array
The code in this ti1_key.c layer needs to call kpd_subscribe() and
kpd_define_key_notification() functions in order to register with the
KPD driver. The original code passed KPD_NB_PHYSICAL_KEYS in
nb_notified_keys - this constant is defined to 24 in kpd_cfg.h on all
platforms of interest to us - but it only filled the first 23 slots
in the notified_keys array, resulting in stack garbage being passed
to KPD API functions. The fix consists of initializing the last
missed array slot to KPD_KEY_RECORD, the key ID for the right side
button on the D-Sample handset.
On our current hw targets this "Record" button exists as the EXTRA
button on our Luna keypad board and as the camera button on the
Pirelli DP-L10. There is no support whatsoever for this button
in current BMI+MFW, we have no plans of doing anything with Pirelli's
camera button even if we do get our UI fw running on that phone,
and the Mother's dream of building our own FreeCalypso handset with
the same button arrangement as D-Sample (including the right side
button) is currently very nebulous - but let us nonetheless handle
the full set of buttons on the KPD to MFW interface, and let upper
layers weed out unsupported buttons.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 25 Oct 2020 23:41:01 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
/* +--------------------------------------------------------------------------+ | PROJECT : PROTOCOL STACK | | FILE : m_mm.val | | SOURCE : "msg\mm.mdf" | | LastModified : "2006-03-22" | | IdAndVersion : "6147.602.06.106" | | SrcFileTime : "Wed Nov 28 10:19:30 2007" | | Generated by CCDGEN_2.5.5A on Fri Oct 14 21:41:52 2016 | | !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!! | +--------------------------------------------------------------------------+ */ /* PRAGMAS * PREFIX : NONE * COMPATIBILITY_DEFINES : NO (require PREFIX) * ALWAYS_ENUM_IN_VAL_FILE: NO * ENABLE_GROUP: NO * CAPITALIZE_TYPENAME: NO */ #ifndef M_MM_VAL #define M_MM_VAL #define CDG_ENTER__M_MM_VAL #define CDG_ENTER__FILENAME _M_MM_VAL #define CDG_ENTER__M_MM_VAL__FILE_TYPE CDGINC #define CDG_ENTER__M_MM_VAL__LAST_MODIFIED _2006_03_22 #define CDG_ENTER__M_MM_VAL__ID_AND_VERSION _6147_602_06_106 #define CDG_ENTER__M_MM_VAL__SRC_FILE_TIME _Wed_Nov_28_10_19_30_2007 #include "CDG_ENTER.h" #undef CDG_ENTER__M_MM_VAL #undef CDG_ENTER__FILENAME #include "m_rr_com.val" /* Access values independent from the corresponding h-file. */ /* * Value constants for VAL_cm_serv_type */ #define VAL_CM_SERV_TYPE___DEF (0x0) /* reserved */ #define ST_MOC (0x1) /* Mobile originating call establishment or packet mode connection establishment */ #define ST_EMERGENCY (0x2) /* Emergency call establishment */ #define ST_SMS (0x4) /* Short message service */ #define ST_SS (0x8) /* Supplementary service activation */ /* * Value constants for VAL_follow */ #define FOR_PENDING_NO (0x0) /* No follow-on request pending */ #define FOR_PENDING_YES (0x1) /* Follow-on request pending */ /* * Value constants for VAL_key_seq */ #define VAL_KEY_SEQ___7 (0x7) /* No key is available (MS to network); Reserved (network to MS) */ /* * Value constants for VAL_odd_even */ #define EVEN (0x0) /* even */ #define ODD (0x1) /* odd */ /* * Value constants for VAL_rej_cause */ #define VAL_REJ_CAUSE___DEF (0x0) /* DOWNLINK : Service option temporarily out of order UPLINK : Protocol error, unspecified */ #define RC_IMSI_IN_HLR (0x2) /* IMSI unknown in HLR */ #define RC_ILLEGAL_MS (0x3) /* Illegal MS */ #define RC_IMSI_IN_VLR (0x4) /* IMSI unknown in VLR */ #define RC_IMEI_NOT_ACCEPTED (0x5) /* IMEI not accepted */ #define RC_ILLEGAL_ME (0x6) /* Illegal ME */ #define RC_PLMN_NOT_ALLOWED (0xb) /* PLMN not allowed */ #define RC_LA_NOT_ALLOWED (0xc) /* Location Area not allowed */ #define RC_ROAMING_NOT_ALLOWED (0xd) /* National roaming not allowed in this location area */ // VAL-FF: REL99 // #define RC_NO_SUITABLE_CELL_IN_LA (0xf) /* Find another allowed location area in the same PLMN */ #define RC_NETWORK_FAILURE (0x11) /* Network failure */ #define RC_CONGETION (0x16) /* Congestion */ #define RC_SERVICE_NOT_SUPPORTED (0x20) /* Service option not supported */ #define RC_SERVICE_NOT_SUBSCRIBED (0x21) /* Requested service option not subscribed */ #define RC_SERVICE_ORDER (0x22) /* Service option temporarily out of order */ #define RC_IDENTIFIY (0x26) /* Call cannot be identified */ #define RC_INCORRECT_MESSAGE (0x5f) /* Semantically incorrect message */ #define RC_INVALID_MAND_MESSAGE (0x60) /* Invalid mandatory information */ #define RC_MESSAGE_TYPE_NOT_IMPLEM (0x61) /* Message type non-existent or not implemented */ #define RC_MESSAGE_TYPE_INCOMPAT (0x62) /* Message type not compatible with the protocol state */ #define RC_IE_NOT_IMPLEM (0x63) /* Information element non-existent or not implemented */ #define RC_CONDITIONAL_IE (0x64) /* Conditional IE error */ #define RC_MESSAGE_INCOMPAT (0x65) /* Message not compatible with the protocol state */ #define RC_UNSPECIFIED (0x6f) /* Protocol error, unspecified */ /* * Value constants for VAL_ident_type */ #define VAL_IDENT_TYPE___DEF (0x0) /* reserved */ #define ID_TYPE_NO_IDENT (0x0) /* No Identity */ #define ID_TYPE_IMSI (0x1) /* IMSI */ #define ID_TYPE_IMEI (0x2) /* IMEI */ #define ID_TYPE_IMEISV (0x3) /* IMEISV */ #define ID_TYPE_TMSI (0x4) /* TMSI */ /* * Value constants for VAL_sapi */ #define SAPI_0 (0x0) /* SAPI used for RR, MM, CC and SS */ #define SAPI_3 (0x3) /* SAPI used for SMS */ /* * Value constants for VAL_pd */ #define PD_GCC (0x0) /* Group call control */ #define PD_BCC (0x1) /* Broadcast Call Control */ #define PD_PDSS1 (0x2) /* PDSS1 */ #define PD_CC (0x3) /* Call Control, call related SS messages */ #define PD_PDSS2 (0x4) /* PDSS2 */ #define PD_MM (0x5) /* Mobility Management messages */ #define PD_RR (0x6) /* Radio Resources management messages */ #define PD_GPRS_MM (0x8) /* GPRS Mobility Management messages */ #define PD_SMS (0x9) /* SMS messages */ #define PD_GPRS_SM (0xa) /* GPRS Session Management messages */ #define PD_SS (0xb) /* non call related SS messages */ #define PD_LS (0xc) /* Location services */ #define PD_TST (0xf) /* Reserved for test procedures described in GSM 11.10 */ /* * Value constants for VAL_cs */ #define CODING_SCHEME_SMSCB (0x0) /* Coding scheme cell broadcast short messages */ #define CODING_SCHEME_UCS2 (0x1) /* Coding scheme UCS2, 16 bit, ISO ISO/IEC10646 */ /* * Value constants for VAL_add_ci */ #define ADD_CI_NO (0x0) /* Country's Initials are not to be added */ #define ADD_CI_YES (0x1) /* Country's Initials are to be added */ /* * Value constants for VAL_save_time_value */ #define TIME_ADJ_NO (0x0) /* No adjustment for Daylight Saving Time */ #define TIME_ADJ_1 (0x1) /* +1 hour adjustment for Daylight Saving Time */ #define TIME_ADJ_2 (0x2) /* +2 hours adjustment for Daylight Saving Time */ /* * user defined constants */ #define L3MAX (0xfb) #define MAXNAME (0x28) #include "CDG_LEAVE.h" #endif