ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2014年10月8日 星期三

CFUN=0 trace:

static void requestRadioPower(void *data, size_t datalen, RIL_Token t) 
static void processRequest (int request, void *data, size_t datalen, RIL_Token t) { ... case RIL_REQUEST_RADIO_POWER: requestRadioPower(data, datalen, t); break;
RIL_REQUEST_RADIO_POWER : ril_commands.h
    {RIL_REQUEST_RADIO_POWER, dispatchInts, responseVoid},
ril_commands.h : requestdatahandler.c
typedef struct CommandInfo {
    int requestId;
    void *(*dispatchFunction) (void *data, size_t datalen);
    void (*responseFunction) (void);
} CommandInfo;

/* RILD made me do it! */
static CommandInfo s_commandInfo[] = {
#include "ril_commands.h"
};

先查一下這些 ril 的 constant 定義在...
hardware/ril/include/telephony/ril.h

framework, java 的部份,是在:
framework/base/telephony/java/com/android/internal/telephony/RILConstants.java
為了怕兩邊定義不一致,這邊有 comment:
/*
cat include/telephony/ril.h | \
   egrep '^#define' | \
   sed -re 's/^#define +([^ ]+)* +([^ ]+)/    int \1 = \2;/' \
   >>java/android/com.android.internal.telephony/gsm/RILConstants.java
*/

回到 framework.. reference REQUEST_RADIO_POWER 的..
opt/telephony/src/java/com/android/internal/telephony/RIL.java

  setRadioPower(boolean on, Message result) {
 

沒有留言:

標籤

網誌存檔