diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2017-04-04 22:01:37 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2017-04-04 22:01:37 +0000 |
commit | 25f66a9aa9f0556c0a98d2d11f709d807d601b2f (patch) | |
tree | 6b9f0a27b8d0f04195df720cb14f081ca75cb2cc | |
parent | 35a9183f59b1dc7c5d93acaa715b698207e783d9 (diff) | |
parent | 7955c43727b86f559ade21de682035b9f9c4cc4b (diff) | |
download | android_hardware_ril-25f66a9aa9f0556c0a98d2d11f709d807d601b2f.tar.gz android_hardware_ril-25f66a9aa9f0556c0a98d2d11f709d807d601b2f.tar.bz2 android_hardware_ril-25f66a9aa9f0556c0a98d2d11f709d807d601b2f.zip |
Merge "Change radio related service names to slot1, slot2, slot3..."
-rw-r--r-- | include/telephony/ril.h | 2 | ||||
-rw-r--r-- | libril/RilSapSocket.cpp | 60 | ||||
-rw-r--r-- | libril/ril.cpp | 102 | ||||
-rw-r--r-- | libril/ril_internal.h | 16 | ||||
-rw-r--r-- | libril/ril_service.cpp | 23 | ||||
-rw-r--r-- | libril/sap_service.cpp | 8 | ||||
-rw-r--r-- | rild/rild.c | 10 |
7 files changed, 38 insertions, 183 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h index 74ee99a..33f8df0 100644 --- a/include/telephony/ril.h +++ b/include/telephony/ril.h @@ -91,7 +91,7 @@ extern "C" { #define CDMA_NUMBER_INFO_BUFFER_LENGTH 81 #define MAX_RILDS 3 -#define MAX_SOCKET_NAME_LENGTH 6 +#define MAX_SERVICE_NAME_LENGTH 6 #define MAX_CLIENT_ID_LENGTH 2 #define MAX_DEBUG_SOCKET_NAME_LENGTH 12 #define MAX_QEMU_PIPE_NAME_LENGTH 11 diff --git a/libril/RilSapSocket.cpp b/libril/RilSapSocket.cpp index 20df3a2..02db4ad 100644 --- a/libril/RilSapSocket.cpp +++ b/libril/RilSapSocket.cpp @@ -30,15 +30,6 @@ static RilSapSocket::RilSapSocketList *head = NULL; -void ril_sap_on_request_complete ( - RIL_Token t, RIL_Errno e, - void *response, size_t responselen -); - -void ril_sap_on_unsolicited_response ( - int unsolResponse, const void *data, - size_t datalen -); extern "C" void RIL_requestTimedCallback (RIL_TimedCallback callback, void *param, const struct timeval *relativeTime); @@ -121,14 +112,14 @@ RilSapSocket *RilSapSocket::getSocketById(RIL_SOCKET_ID socketId) { void RilSapSocket::initSapSocket(const char *socketName, RIL_RadioFunctions *uimFuncs) { - if (strcmp(socketName, "sap_uim_socket1") == 0) { + if (strcmp(socketName, RIL1_SERVICE_NAME) == 0) { if(!SocketExists(socketName)) { addSocketToList(socketName, RIL_SOCKET_1, uimFuncs); } } #if (SIM_COUNT >= 2) - if (strcmp(socketName, "sap_uim_socket2") == 0) { + if (strcmp(socketName, RIL2_SERVICE_NAME) == 0) { if(!SocketExists(socketName)) { addSocketToList(socketName, RIL_SOCKET_2, uimFuncs); } @@ -136,7 +127,7 @@ void RilSapSocket::initSapSocket(const char *socketName, #endif #if (SIM_COUNT >= 3) - if (strcmp(socketName, "sap_uim_socket3") == 0) { + if (strcmp(socketName, RIL3_SERVICE_NAME) == 0) { if(!SocketExists(socketName)) { addSocketToList(socketName, RIL_SOCKET_3, uimFuncs); } @@ -144,7 +135,7 @@ void RilSapSocket::initSapSocket(const char *socketName, #endif #if (SIM_COUNT >= 4) - if (strcmp(socketName, "sap_uim_socket4") == 0) { + if (strcmp(socketName, RIL4_SERVICE_NAME) == 0) { if(!SocketExists(socketName)) { addSocketToList(socketName, RIL_SOCKET_4, uimFuncs); } @@ -205,49 +196,6 @@ RilSapSocket::RilSapSocket(const char *socketName, } } -#define BYTES_PER_LINE 16 - -#define NIBBLE_TO_HEX(n) ({ \ - uint8_t __n = (uint8_t) (n) & 0x0f; \ - __nibble >= 10 ? 'A' + __n - 10: '0' + __n; \ -}) - -#define HEX_HIGH(b) ({ \ - uint8_t __b = (uint8_t) (b); \ - uint8_t __nibble = (__b >> 4) & 0x0f; \ - NIBBLE_TO_HEX(__nibble); \ -}) - -#define HEX_LOW(b) ({ \ - uint8_t __b = (uint8_t) (b); \ - uint8_t __nibble = __b & 0x0f; \ - NIBBLE_TO_HEX(__nibble); \ -}) - -void log_hex(const char *who, const uint8_t *buffer, int length) { - char out[80]; - int source = 0; - int dest = 0; - int dest_len = sizeof(out); - int per_line = 0; - - do { - dest += sprintf(out, "%8.8s [%8.8x] ", who, source); - for(; source < length && dest_len - dest > 3 && per_line < BYTES_PER_LINE; source++, - per_line ++) { - out[dest++] = HEX_HIGH(buffer[source]); - out[dest++] = HEX_LOW(buffer[source]); - out[dest++] = ' '; - } - if (dest < dest_len && (per_line == BYTES_PER_LINE || source >= length)) { - out[dest++] = 0; - per_line = 0; - dest = 0; - RLOGD("%s\n", out); - } - } while(source < length && dest < dest_len); -} - void RilSapSocket::dispatchRequest(MsgHeader *req) { // SapSocketRequest will be deallocated in onRequestComplete() SapSocketRequest* currRequest=(SapSocketRequest*)malloc(sizeof(SapSocketRequest)); diff --git a/libril/ril.cpp b/libril/ril.cpp index 3f5e597..7a28fa4 100644 --- a/libril/ril.cpp +++ b/libril/ril.cpp @@ -105,7 +105,9 @@ extern "C" const char * radioStateToString(RIL_RadioState); extern "C" const char * rilSocketIdToString(RIL_SOCKET_ID socket_id); extern "C" -char rild[MAX_SOCKET_NAME_LENGTH] = SOCKET_NAME_RIL; +char ril_service_name_base[MAX_SERVICE_NAME_LENGTH] = RIL_SERVICE_NAME_BASE; +extern "C" +char ril_service_name[MAX_SERVICE_NAME_LENGTH] = RIL1_SERVICE_NAME; /*******************************************************************/ RIL_RadioFunctions s_callbacks = {0, NULL, NULL, NULL, NULL, NULL}; @@ -211,13 +213,13 @@ static UnsolResponseInfo s_unsolResponses[] = { #include "ril_unsol_commands.h" }; -char * RIL_getRilSocketName() { - return rild; +char * RIL_getServiceName() { + return ril_service_name; } extern "C" -void RIL_setRilSocketName(const char * s) { - strncpy(rild, s, MAX_SOCKET_NAME_LENGTH); +void RIL_setServiceName(const char * s) { + strncpy(ril_service_name, s, MAX_SERVICE_NAME_LENGTH); } RequestInfo * @@ -272,34 +274,6 @@ addRequestToList(int serial, int slotId, int request) { return pRI; } -static int -blockingWrite(int fd, const void *buffer, size_t len) { - size_t writeOffset = 0; - const uint8_t *toWrite; - - toWrite = (const uint8_t *)buffer; - - while (writeOffset < len) { - ssize_t written; - do { - written = write (fd, toWrite + writeOffset, - len - writeOffset); - } while (written < 0 && ((errno == EINTR) || (errno == EAGAIN))); - - if (written >= 0) { - writeOffset += written; - } else { // written < 0 - RLOGE ("RIL Response: unexpected error on write errno:%d", errno); - close(fd); - return -1; - } - } -#if VDBG - RLOGE("RIL Response bytes written:%d", writeOffset); -#endif - return 0; -} - static void triggerEvLoop() { int ret; if (!pthread_equal(pthread_self(), s_tid_dispatch)) { @@ -333,50 +307,6 @@ static void processWakeupCallback(int fd, short flags, void *param) { } while (ret > 0 || (ret < 0 && errno == EINTR)); } -static void onCommandsSocketClosed(RIL_SOCKET_ID socket_id) { - int ret; - RequestInfo *p_cur; - /* Hook for current context - pendingRequestsMutextHook refer to &s_pendingRequestsMutex */ - pthread_mutex_t * pendingRequestsMutexHook = &s_pendingRequestsMutex; - /* pendingRequestsHook refer to &s_pendingRequests */ - RequestInfo ** pendingRequestsHook = &s_pendingRequests; - -#if (SIM_COUNT >= 2) - if (socket_id == RIL_SOCKET_2) { - pendingRequestsMutexHook = &s_pendingRequestsMutex_socket2; - pendingRequestsHook = &s_pendingRequests_socket2; - } -#if (SIM_COUNT >= 3) - else if (socket_id == RIL_SOCKET_3) { - pendingRequestsMutexHook = &s_pendingRequestsMutex_socket3; - pendingRequestsHook = &s_pendingRequests_socket3; - } -#endif -#if (SIM_COUNT >= 4) - else if (socket_id == RIL_SOCKET_4) { - pendingRequestsMutexHook = &s_pendingRequestsMutex_socket4; - pendingRequestsHook = &s_pendingRequests_socket4; - } -#endif -#endif - /* mark pending requests as "cancelled" so we dont report responses */ - ret = pthread_mutex_lock(pendingRequestsMutexHook); - assert (ret == 0); - - p_cur = *pendingRequestsHook; - - for (p_cur = *pendingRequestsHook - ; p_cur != NULL - ; p_cur = p_cur->p_next - ) { - p_cur->cancelled = 1; - } - - ret = pthread_mutex_unlock(pendingRequestsMutexHook); - assert (ret == 0); -} - static void resendLastNITZTimeData(RIL_SOCKET_ID socket_id) { if (s_lastNITZTimeData != NULL) { int responseType = (s_callbacks.version >= 13) @@ -564,18 +494,18 @@ RIL_register_socket (RIL_RadioFunctions *(*Init)(const struct RIL_Env *, int, ch switch(socketType) { case RIL_SAP_SOCKET: - RilSapSocket::initSapSocket("sap_uim_socket1", UimFuncs); + RilSapSocket::initSapSocket(RIL1_SERVICE_NAME, UimFuncs); #if (SIM_COUNT >= 2) - RilSapSocket::initSapSocket("sap_uim_socket2", UimFuncs); + RilSapSocket::initSapSocket(RIL2_SERVICE_NAME, UimFuncs); #endif #if (SIM_COUNT >= 3) - RilSapSocket::initSapSocket("sap_uim_socket3", UimFuncs); + RilSapSocket::initSapSocket(RIL3_SERVICE_NAME, UimFuncs); #endif #if (SIM_COUNT >= 4) - RilSapSocket::initSapSocket("sap_uim_socket4", UimFuncs); + RilSapSocket::initSapSocket(RIL4_SERVICE_NAME, UimFuncs); #endif break; default:; @@ -1319,12 +1249,4 @@ rilSocketIdToString(RIL_SOCKET_ID socket_id) } } -} /* namespace android */ - -void rilEventAddWakeup_helper(struct ril_event *ev) { - android::rilEventAddWakeup(ev); -} - -int blockingWrite_helper(int fd, void *buffer, size_t len) { - return android::blockingWrite(fd, buffer, len); -} +} /* namespace android */
\ No newline at end of file diff --git a/libril/ril_internal.h b/libril/ril_internal.h index 68d3863..646d9b7 100644 --- a/libril/ril_internal.h +++ b/libril/ril_internal.h @@ -21,15 +21,11 @@ namespace android { -#define SOCKET_NAME_RIL "rild" -#define SOCKET2_NAME_RIL "rild2" -#define SOCKET3_NAME_RIL "rild3" -#define SOCKET4_NAME_RIL "rild4" - -#define OEM_HOOK_SERVICE_NAME "oemhook" -#define OEM_HOOK2_SERVICE_NAME "oemhook2" -#define OEM_HOOK3_SERVICE_NAME "oemhook3" -#define OEM_HOOK4_SERVICE_NAME "oemhook4" +#define RIL_SERVICE_NAME_BASE "slot" +#define RIL1_SERVICE_NAME "slot1" +#define RIL2_SERVICE_NAME "slot2" +#define RIL3_SERVICE_NAME "slot3" +#define RIL4_SERVICE_NAME "slot4" /* Constants for response types */ #define RESPONSE_SOLICITED 0 @@ -93,7 +89,7 @@ typedef struct CommandInfo { RequestInfo * addRequestToList(int serial, int slotId, int request); -char * RIL_getRilSocketName(); +char * RIL_getServiceName(); void releaseWakeLock(); diff --git a/libril/ril_service.cpp b/libril/ril_service.cpp index 306d7cb..6618ddb 100644 --- a/libril/ril_service.cpp +++ b/libril/ril_service.cpp @@ -7931,26 +7931,13 @@ void radio::registerService(RIL_RadioFunctions *callbacks, CommandInfo *commands using namespace android::hardware; int simCount = 1; const char *serviceNames[] = { - android::RIL_getRilSocketName() + android::RIL_getServiceName() #if (SIM_COUNT >= 2) - , SOCKET2_NAME_RIL + , RIL2_SERVICE_NAME #if (SIM_COUNT >= 3) - , SOCKET3_NAME_RIL + , RIL3_SERVICE_NAME #if (SIM_COUNT >= 4) - , SOCKET4_NAME_RIL - #endif - #endif - #endif - }; - - const char *oemHookServiceNames[] = { - OEM_HOOK_SERVICE_NAME - #if (SIM_COUNT >= 2) - , OEM_HOOK2_SERVICE_NAME - #if (SIM_COUNT >= 3) - , OEM_HOOK3_SERVICE_NAME - #if (SIM_COUNT >= 4) - , OEM_HOOK4_SERVICE_NAME + , RIL4_SERVICE_NAME #endif #endif #endif @@ -7972,7 +7959,7 @@ void radio::registerService(RIL_RadioFunctions *callbacks, CommandInfo *commands oemHookService[i]->mSlotId = i; RLOGD("registerService: starting IRadio %s", serviceNames[i]); android::status_t status = radioService[i]->registerAsService(serviceNames[i]); - status = oemHookService[i]->registerAsService(oemHookServiceNames[i]); + status = oemHookService[i]->registerAsService(serviceNames[i]); ret = pthread_rwlock_unlock(radioServiceRwlockPtr); assert(ret == 0); diff --git a/libril/sap_service.cpp b/libril/sap_service.cpp index 29c2f38..7bed05a 100644 --- a/libril/sap_service.cpp +++ b/libril/sap_service.cpp @@ -919,13 +919,13 @@ void sap::registerService(RIL_RadioFunctions *callbacks) { using namespace android::hardware; int simCount = 1; const char *serviceNames[] = { - "sap_uim_socket1" + android::RIL_getServiceName() #if (SIM_COUNT >= 2) - , "sap_uim_socket2" + , RIL2_SERVICE_NAME #if (SIM_COUNT >= 3) - , "sap_uim_socket3" + , RIL3_SERVICE_NAME #if (SIM_COUNT >= 4) - , "sap_uim_socket4" + , RIL4_SERVICE_NAME #endif #endif #endif diff --git a/rild/rild.c b/rild/rild.c index 58bd273..ce04040 100644 --- a/rild/rild.c +++ b/rild/rild.c @@ -47,7 +47,8 @@ static void usage(const char *argv0) { exit(EXIT_FAILURE); } -extern char rild[MAX_SOCKET_NAME_LENGTH]; +extern char ril_service_name_base[MAX_SERVICE_NAME_LENGTH]; +extern char ril_service_name[MAX_SERVICE_NAME_LENGTH]; extern void RIL_register (const RIL_RadioFunctions *callbacks); extern void rilc_thread_pool (); @@ -60,7 +61,7 @@ extern void RIL_onRequestComplete(RIL_Token t, RIL_Errno e, extern void RIL_onRequestAck(RIL_Token t); -extern void RIL_setRilSocketName(char *); +extern void RIL_setServiceName(char *); #if defined(ANDROID_MULTI_SIM) extern void RIL_onUnsolicitedResponse(int unsolResponse, const void *data, @@ -193,8 +194,9 @@ int main(int argc, char **argv) { exit(0); } if (strncmp(clientId, "0", MAX_CLIENT_ID_LENGTH)) { - strlcat(rild, clientId, MAX_SOCKET_NAME_LENGTH); - RIL_setRilSocketName(rild); + strncpy(ril_service_name, ril_service_name_base, MAX_SERVICE_NAME_LENGTH); + strncat(ril_service_name, clientId, MAX_SERVICE_NAME_LENGTH); + RIL_setServiceName(ril_service_name); } if (rilLibPath == NULL) { |