summaryrefslogtreecommitdiffstats
path: root/libaudio/secril-client.h
diff options
context:
space:
mode:
authorUK KIM <w0806.kim@samsung.com>2010-08-31 09:13:09 -0700
committerEd Heyl <edheyl@google.com>2010-08-31 13:02:41 -0700
commitfb94e2d27f48ad0bb6e97e7697fa4427625107d0 (patch)
tree54f2cb54c59470289b962328deae711a019353da /libaudio/secril-client.h
parent44732f1289a186113778305fd4c76083d5cd6cf7 (diff)
downloaddevice_samsung_crespo-fb94e2d27f48ad0bb6e97e7697fa4427625107d0.zip
device_samsung_crespo-fb94e2d27f48ad0bb6e97e7697fa4427625107d0.tar.gz
device_samsung_crespo-fb94e2d27f48ad0bb6e97e7697fa4427625107d0.tar.bz2
LIBAUDIO: use libaudio of lsi, alsa-lib, alsa-utils, not generic lib.
disable BOARD_USES_GENERIC_AUDIO feature modified libaudio, alsa-lib, alsa-utils to build according to crespo's source tree. Change-Id: I3f8b57e60c1ddd691ab9d85a161705a833155e4e
Diffstat (limited to 'libaudio/secril-client.h')
-rwxr-xr-xlibaudio/secril-client.h124
1 files changed, 124 insertions, 0 deletions
diff --git a/libaudio/secril-client.h b/libaudio/secril-client.h
new file mode 100755
index 0000000..d301566
--- /dev/null
+++ b/libaudio/secril-client.h
@@ -0,0 +1,124 @@
+/**
+ * @file secril-client.h
+ *
+ * @author Myeongcheol Kim (mcmount.kim@samsung.com)
+ *
+ * @brief RIL client library for multi-client support
+ */
+
+#ifndef __SECRIL_CLIENT_H__
+#define __SECRIL_CLIENT_H__
+
+#include <sys/types.h>
+
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct RilClient
+{
+ void *prv;
+};
+
+typedef struct RilClient * HRilClient;
+
+
+//---------------------------------------------------------------------------
+// Defines
+//---------------------------------------------------------------------------
+#define RIL_CLIENT_ERR_SUCCESS 0
+#define RIL_CLIENT_ERR_AGAIN 1
+#define RIL_CLIENT_ERR_INIT 2 // Client is not initialized
+#define RIL_CLIENT_ERR_INVAL 3 // Invalid value
+#define RIL_CLIENT_ERR_CONNECT 4 // Connection error
+#define RIL_CLIENT_ERR_IO 5 // IO error
+#define RIL_CLIENT_ERR_RESOURCE 6 // Resource not available
+#define RIL_CLIENT_ERR_UNKNOWN 7
+
+
+//---------------------------------------------------------------------------
+// Type definitions
+//---------------------------------------------------------------------------
+
+typedef int (*RilOnComplete)(HRilClient handle, const void *data, size_t datalen);
+
+typedef int (*RilOnUnsolicited)(HRilClient handle, const void *data, size_t datalen);
+
+typedef int (*RilOnError)(void *data, int error);
+
+
+//---------------------------------------------------------------------------
+// Client APIs
+//---------------------------------------------------------------------------
+
+/**
+ * Open RILD multi-client.
+ * Return is client handle, NULL on error.
+ */
+HRilClient OpenClient_RILD(void);
+
+/**
+ * Stop RILD multi-client. If client socket was connected,
+ * it will be disconnected.
+ */
+int CloseClient_RILD(HRilClient client);
+
+/**
+ * Connect to RIL deamon. One client task starts.
+ * Return is 0 or error code.
+ */
+int Connect_RILD(HRilClient client);
+
+/**
+ * check whether RILD is connected
+ * Returns 0 or 1
+ */
+int isConnected_RILD(HRilClient client);
+
+/**
+ * Disconnect connection to RIL deamon(socket close).
+ * Return is 0 or error code.
+ */
+int Disconnect_RILD(HRilClient client);
+
+/**
+ * Register unsolicited response handler. If handler is NULL,
+ * the handler for the request ID is unregistered.
+ * The response handler is invoked in the client task context.
+ * Return is 0 or error code.
+ */
+int RegisterUnsolicitedHandler(HRilClient client, uint32_t id, RilOnUnsolicited handler);
+
+/**
+ * Register solicited response handler. If handler is NULL,
+ * the handler for the ID is unregistered.
+ * The response handler is invoked in the client task context.
+ * Return is 0 or error code.
+ */
+int RegisterRequestCompleteHandler(HRilClient client, uint32_t id, RilOnComplete handler);
+
+
+/**
+ * Register error callback. If handler is NULL,
+ * the callback is unregistered.
+ * The response handler is invoked in the client task context.
+ * Return is 0 or error code.
+ */
+int RegisterErrorCallback(HRilClient client, RilOnError cb, void *data);
+
+/**
+ * Invoke OEM request. Request ID is RIL_REQUEST_OEM_HOOK_RAW.
+ * Return is 0 or error code. For RIL_CLIENT_ERR_AGAIN caller should retry.
+ */
+int InvokeOemRequestHookRaw(HRilClient client, char *data, size_t len);
+
+#ifdef __cplusplus
+};
+#endif
+
+#endif // __SECRIL_CLIENT_H__
+
+// end of file
+