blob: b02c6658360451105c1053d6b277a52e3ff5dbfb [file] [log] [blame]
Meng Wang43bbb872018-12-10 12:32:05 +08001/* SPDX-License-Identifier: GPL-2.0-only */
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +05302/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
Asish Bhattacharya8e2277f2017-07-20 18:31:55 +05303 */
4
5#ifndef __CMI_API__
6#define __CMI_API__
7
8enum cmi_api_result {
9 CMI_API_FAILED = 1,
10 CMI_API_BUSY,
11 CMI_API_NO_MEMORY,
12 CMI_API_NOT_READY,
13};
14
15enum cmi_api_event {
16 CMI_API_MSG = 1,
17 CMI_API_OFFLINE,
18 CMI_API_ONLINE,
19 CMI_API_DEINITIALIZED,
20};
21
22struct cmi_api_notification {
23 enum cmi_api_event event;
24 enum cmi_api_result result;
25 void *message;
26};
27
28void *cmi_register(
29 void notification_callback
30 (const struct cmi_api_notification *parameter),
31 u32 service);
32enum cmi_api_result cmi_deregister(void *reg_handle);
33enum cmi_api_result cmi_send_msg(void *message);
34
35#endif /*__CMI_API__*/