Android hardware abstraction layer (HAL)
gecko/hal/gonk/GonkHal.cpp
gecko/dom/system/gonk/GonkGPSGelocationProvider.cpp
gecko/dom/camera/GonkCameraManager.cpp
Use hw_get_module Android HAL layer Interface
http://emb.hqyj.com/Column/Column733.htm
Unix domain socket
rilproxy/src/rilproxy.c
Use socket_local_server connect to rilproxy socket
Remote Procedure Call(RPC) / binder
gecko/dom/system/gonk/AudioManager.cpp
gecko/media/libsydneyaudio/src/gonk/AudioSystem.h
frameworks/base/media/libmedia/AudioSystem.cpp
Use binder = sm->getService()
https://blog.csdn.net/freekiteyu/article/details/70082302
Use ‘proc’ , ‘system’ file system
gecko/hal/gonk/GonkHal.cpp
Use fopen to open battery file node
Shared library
gecko/dom/wifi/libhardware_legacy.js
ctypes.open(“libhardware_legacy.so”);
https://developer.mozilla.org/zh-CN/docs/Mozilla/js-ctypes/Using_js-ctypes
System call
gecko/hal/gonk/GonkHal.cpp
Use syscall of Linux
gecko/hal/linux/LinuxPower.cpp
Use reboot of Linux
https://blog.csdn.net/qingkongyeyue/article/details/71597783