diff options
author | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-22 16:31:29 +0100 |
---|---|---|
committer | Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> | 2015-12-22 16:31:29 +0100 |
commit | 548cf42e9e842540e701398eeb9998999148f1de (patch) | |
tree | 123306320497b02180ae5d6ae6f79545fd54512e /ril-wrapper/ril-wrapper.c | |
parent | f196112226a9dadd4809dc13cc918dd3f2389549 (diff) | |
download | device_samsung_i9300-548cf42e9e842540e701398eeb9998999148f1de.zip device_samsung_i9300-548cf42e9e842540e701398eeb9998999148f1de.tar.gz device_samsung_i9300-548cf42e9e842540e701398eeb9998999148f1de.tar.bz2 |
remove everything that is related to the proprietary RIL
Signed-off-by: Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de>
Diffstat (limited to 'ril-wrapper/ril-wrapper.c')
-rw-r--r-- | ril-wrapper/ril-wrapper.c | 99 |
1 files changed, 0 insertions, 99 deletions
diff --git a/ril-wrapper/ril-wrapper.c b/ril-wrapper/ril-wrapper.c deleted file mode 100644 index 76308c6..0000000 --- a/ril-wrapper/ril-wrapper.c +++ /dev/null @@ -1,99 +0,0 @@ -#define LOG_TAG "RilWrapper" -#define RIL_SHLIB -#include <telephony/ril_cdma_sms.h> -#include <sys/system_properties.h> -#include <telephony/librilutils.h> -#include <cutils/sockets.h> -#include <telephony/ril.h> -#include <sys/socket.h> -#include <sys/types.h> -#include <sys/cdefs.h> -#include <utils/Log.h> -#include <sys/stat.h> -#include <pthread.h> -#include <termios.h> -#include <alloca.h> -#include <assert.h> -#include <getopt.h> -#include <string.h> -#include <unistd.h> -#include <dlfcn.h> -#include <errno.h> -#include <fcntl.h> -#include <stdio.h> - -#define REAL_RIL_NAME "/system/lib/libsamsung-ril.so" - - -static RIL_RadioFunctions const *mRealRadioFuncs; -static const struct RIL_Env *mEnv; - -static void rilOnRequest(int request, void *data, size_t datalen, RIL_Token t) -{ - switch (request) { - case RIL_REQUEST_GET_RADIO_CAPABILITY: - RLOGW("Returning NOT_SUPPORTED on GET_RADIO_CAPABILITY"); - mEnv->OnRequestComplete(t, RIL_E_REQUEST_NOT_SUPPORTED, NULL, 0); - break; - default: - mRealRadioFuncs->onRequest(request, data, datalen, t); - } -} - -const RIL_RadioFunctions* RIL_Init(const struct RIL_Env *env, int argc, char **argv) -{ - RIL_RadioFunctions const* (*fRealRilInit)(const struct RIL_Env *env, int argc, char **argv); - static RIL_RadioFunctions rilInfo; - void *realRilLibHandle; - int i; - - - //save the env; - mEnv = env; - - //get the real RIL - realRilLibHandle = dlopen(REAL_RIL_NAME, RTLD_LOCAL); - if (!realRilLibHandle) { - RLOGE("Failed to load the real RIL '" REAL_RIL_NAME "': %s\n", dlerror()); - return NULL; - } - - //remove "-c" command line as Samsung's RIL does not understand it - it just barfs instead - for (i = 0; i < argc; i++) { - if (!strcmp(argv[i], "-c") && i != argc -1) { //found it - memcpy(argv + i, argv + i + 2, sizeof(char*[argc - i - 2])); - argc -= 2; - } - } - - //load the real RIL - fRealRilInit = dlsym(realRilLibHandle, "RIL_Init"); - if (!fRealRilInit) { - RLOGE("Failed to find the real RIL's entry point\n"); - goto out_fail; - } - - RLOGD("Calling the real RIL's entry point with %u args\n", argc); - for (i = 0; i < argc; i++) - RLOGD(" argv[%2d] = '%s'\n", i, argv[i]); - - //try to init the real ril - mRealRadioFuncs = fRealRilInit(env, argc, argv); - if (!mRealRadioFuncs) { - RLOGE("The real RIL's entry point failed\n"); - goto out_fail; - } - - //copy the real RIL's info struct, then replace the onRequest pointer with our own - rilInfo = *mRealRadioFuncs; - rilInfo.onRequest = rilOnRequest; - - RLOGD("Wrapped RIL version is '%s'\n", mRealRadioFuncs->getVersion()); - - //we're all good - return to caller - return &rilInfo; - -out_fail: - dlclose(realRilLibHandle); - return NULL; -} |