blob: 162e311d7eded624f6f07c53793fe5dd9c82db9d [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001#ifndef __D2APN_PUBLIC_API_H__
2#define __D2APN_PUBLIC_API_H__
3
4#include "kal_public_defs.h"
5/*
6#include "ddm_utility.h"
7#include "custom_d2_config.h"
8#include "d2apn_public_defs.h"
9#include "d2apn_struct.h"
10*/
11
12// Compiler flag, NEED_TO_BE_NOTICED, set by the compiler
13// N/A
14
15// Type definition
16/*
17typedef enum
18{
19 D2APN_API_RES_FAIL = D2APN_RES_FAIL,
20 D2APN_API_RES_NONE = D2APN_RES_NONE,
21 D2APN_API_RES_SUCC = D2APN_RES_SUCC,
22}d2apn_api_res_enum;
23*/
24
25// Macros
26// N/A
27
28// Interface
29/*
30extern kal_uint32 d2apn_get_min_apn_idx_by_owner (kal_uint8 ps_id, module_type owner);
31extern kal_uint32 d2apn_get_max_apn_idx_by_owner (kal_uint8 ps_id, module_type owner);
32*/
33extern module_type d2apn_get_owner_by_apn_idx (kal_uint8 ps_id, kal_uint32 apn_idx);
34/*extern d2apn_api_res_enum d2apn_init_set_apns_info_req (kal_uint8 ps_id, module_type owner, d2apn_set_apns_info_req_struct *req_ptr);
35extern d2apn_api_res_enum d2apn_init_set_apns_req (kal_uint8 ps_id, module_type owner, d2apn_set_apns_req_struct *req_ptr);
36*/
37
38/*******************************************************************************
39 * ILM-equivalent API *
40 *******************************************************************************/
41/*
42// => SET request
43extern d2apn_api_res_enum d2apn_set_apns_info (kal_uint8 ps_id, module_type owner, d2apn_set_apns_info_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
44extern d2apn_api_res_enum d2apn_set_apns (kal_uint8 ps_id, module_type owner, d2apn_set_apns_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
45// => RESET request
46extern d2apn_api_res_enum d2apn_reset_apns_info (kal_uint8 ps_id, module_type owner, d2apn_reset_apns_info_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
47extern d2apn_api_res_enum d2apn_reset_apns (kal_uint8 ps_id, module_type owner, d2apn_reset_apns_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
48// => COPY request
49extern d2apn_api_res_enum d2apn_copy_apns_tbl (kal_uint8 ps_id, module_type owner, d2apn_copy_apns_tbl_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
50// => GET request
51#define d2apn_get_apns_info(ps_id, subscriber, req_ptr, rsp_cb, rsp_cb_arg) ((req_ptr) == NULL ? D2APN_API_RES_FAIL : \
52 ((req_ptr)->type >= D2APN_GET_APNS_INFO_REQ_TYPE_CACHE ? d2apn_get_apns_info_owner((ps_id), (subscriber), (req_ptr), (rsp_cb), (rsp_cb_arg)) : \
53 d2apn_get_apns_info_subscriber((ps_id), (subscriber), (req_ptr), (rsp_cb), (rsp_cb_arg))))
54#define d2apn_get_apns(ps_id, subscriber, req_ptr, rsp_cb, rsp_cb_arg) ((req_ptr) == NULL ? D2APN_API_RES_FAIL : \
55 ((req_ptr)->type >= D2APN_GET_APNS_REQ_TYPE_CACHE ? d2apn_get_apns_owner((ps_id), (subscriber), (req_ptr), (rsp_cb), (rsp_cb_arg)) : \
56 d2apn_get_apns_subscriber((ps_id), (subscriber), (req_ptr), (rsp_cb), (rsp_cb_arg))))
57*/
58
59// Implementation
60/*
61// => Subscriber
62extern d2apn_api_res_enum d2apn_get_apns_info_subscriber (kal_uint8 ps_id, module_type subscriber, d2apn_get_apns_info_req_struct *req_ptr, d2apn_custom_subscriber_msg_cb_t rsp_cb, void *rsp_cb_arg);
63extern d2apn_api_res_enum d2apn_get_apns_subscriber (kal_uint8 ps_id, module_type subscriber, d2apn_get_apns_req_struct *req_ptr, d2apn_custom_subscriber_msg_cb_t rsp_cb, void *rsp_cb_arg);
64// => Owner
65extern d2apn_api_res_enum d2apn_get_apns_info_owner (kal_uint8 ps_id, module_type owner, d2apn_get_apns_info_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
66extern d2apn_api_res_enum d2apn_get_apns_owner (kal_uint8 ps_id, module_type owner, d2apn_get_apns_req_struct *req_ptr, d2apn_d2_owner_msg_cb_t rsp_cb, void *rsp_cb_arg);
67// => Internal data type for D2APN
68// N/A
69*/
70
71#endif