blob: 6c4d0ca1949a0859acbb46ac8c08dcbc6683191d [file] [log] [blame]
lh25827952022-01-10 00:34:35 -08001#ifndef LYNQ_CALL_H
2#define LYNQ_CALL_H 1
3#ifdef __cplusplus
4extern "C" {
5#endif
6#define LYNQ_PHONE_NUMBER_MAX 32
7#define INDEX_IS_NUMBER( alpha_char ) \
8 ( ( (alpha_char >= '0') && (alpha_char <= '9') ) ? 1 : 0 )
9#define LYNQ_CALL_MAX 10
10#define LYNQ_CALL_FAIL_VENDOR_CAUSE 64
11typedef enum {
12 CALL_FAIL_UNOBTAINABLE_NUMBER = 1,
13 CALL_FAIL_NORMAL = 16,
14 CALL_FAIL_BUSY = 17,
15 CALL_FAIL_CONGESTION = 34,
16 CALL_FAIL_ACM_LIMIT_EXCEEDED = 68,
17 CALL_FAIL_CALL_BARRED = 240,
18 CALL_FAIL_FDN_BLOCKED = 241,
19 CALL_FAIL_IMSI_UNKNOWN_IN_VLR = 242,
20 CALL_FAIL_IMEI_NOT_ACCEPTED = 243,
21 CALL_FAIL_DIAL_MODIFIED_TO_USSD = 244, /* STK Call Control */
22 CALL_FAIL_DIAL_MODIFIED_TO_SS = 245,
23 CALL_FAIL_DIAL_MODIFIED_TO_DIAL = 246,
24 CALL_FAIL_CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000,
25 CALL_FAIL_CDMA_DROP = 1001,
26 CALL_FAIL_CDMA_INTERCEPT = 1002,
27 CALL_FAIL_CDMA_REORDER = 1003,
28 CALL_FAIL_CDMA_SO_REJECT = 1004,
29 CALL_FAIL_CDMA_RETRY_ORDER = 1005,
30 CALL_FAIL_CDMA_ACCESS_FAILURE = 1006,
31 CALL_FAIL_CDMA_PREEMPTED = 1007,
32 CALL_FAIL_CDMA_NOT_EMERGENCY = 1008, /* For non-emergency number dialed
33 during emergency callback mode */
34 CALL_FAIL_CDMA_ACCESS_BLOCKED = 1009, /* CDMA network access probes blocked */
35 CALL_FAIL_ERROR_UNSPECIFIED = 0xffff
36} lynq_last_call_fail_cause_t;
37typedef struct
38{
39 lynq_last_call_fail_cause_t cause_code;
40 char vendor_cause[LYNQ_CALL_FAIL_VENDOR_CAUSE];
41}lynqLastCallFailCause;
rita0daf4492022-04-10 21:49:06 -040042#ifdef ECALL_SUPPORT
43int lynq_fast_ecall(int* handle, int ecall_cat, int ecall_variant, char *addr, unsigned char *msd_data);
44int lynq_set_psap(int enable);
45int lynq_psap_pull_msd();
46int lynq_make_ecall(int* handle, int type);
47int lynq_set_msd(int call_id, char *msd_data);
48int lynq_set_ivs(int enable);
49int lynq_reset_ivs();
50int lynq_ivs_push_msd();
51#endif
lh25827952022-01-10 00:34:35 -080052int lynq_init_call(int uToken);
53int lynq_deinit_call();
54int lynq_call(int *handle,char addr[]);
55int lynq_call_answer();
56int lynq_call_hungup(int*handle);
57int lynq_call_hungup_all();
58int lynq_wait_incoming_call(int *handle);
59int lynq_set_auto_answercall(const int mode);
q.huangb0eb7b02022-03-29 04:17:32 -040060int lynq_get_mute_mic(int *status);
lh25827952022-01-10 00:34:35 -080061int lynq_set_mute_mic(const int enable);
q.huang9ee6d5b2022-04-05 23:11:02 -040062int lynq_get_speech_volume(int *volume);
63int lynq_set_speech_volume(const int volume);
64int lynq_incall_record_start(const char* file_path);
q.huangb0eb7b02022-03-29 04:17:32 -040065int lynq_incall_record_stop();
lh25827952022-01-10 00:34:35 -080066int lynq_set_DTMF(const char callnum);
67int lynq_set_DTMF_volume(const int volume);
68int lynq_get_current_call_state(int *handle, int *call_state,int *toa,int *direction,char addr[]);
69#ifdef __cplusplus
70}
71#endif
72#endif