1 /*
2  * Copyright (C) 2015-2020 Alibaba Group Holding Limited
3  */
4 #ifndef _AVCTP_API_H
5 #define _AVCTP_API_H
6 
7 typedef uint8_t btif_avctp_event_t;
8 
9 #define BTIF_AVCTP_CONNECT_EVENT             1
10 
11 #define BTIF_AVCTP_CONNECT_IND_EVENT         2
12 
13 #define BTIF_AVCTP_DISCONNECT_EVENT          3
14 
15 #define BTIF_AVCTP_COMMAND_EVENT             4
16 
17 #define BTIF_AVCTP_RESPONSE_EVENT            5
18 
19 #define BTIF_AVCTP_REJECT_EVENT              6
20 
21 #define BTIF_AVCTP_TX_DONE_EVENT            8
22 
23 #define BTIF_AVCTP_OPERANDS_EVENT            9
24 
25 #define BTIF_AVCTP_LAST_EVENT                9
26 
27 #define BTIF_AVCTP_CTYPE_CONTROL               0x00
28 #define BTIF_AVCTP_CTYPE_STATUS                0x01
29 #define BTIF_AVCTP_CTYPE_SPECIFIC_INQUIRY      0x02
30 #define BTIF_AVCTP_CTYPE_NOTIFY                0x03
31 #define BTIF_AVCTP_CTYPE_GENERAL_INQUIRY       0x04
32 #define BTIF_AVCTP_CTYPE_BROWSING              0x80
33 #define BTIF_AVCTP_CTYPE_RESERVED              0x0A
34 
35 typedef U8 avctp_response_t;
36 
37 #define BTIF_AVCTP_RESPONSE_NOT_IMPLEMENTED    0x08
38 #define BTIF_AVCTP_RESPONSE_ACCEPTED           0x09
39 #define BTIF_AVCTP_RESPONSE_REJECTED           0x0A
40 #define BTIF_AVCTP_RESPONSE_IN_TRANSITION      0x0B
41 #define BTIF_AVCTP_RESPONSE_IMPLEMENTED_STABLE 0x0C
42 #define BTIF_AVCTP_RESPONSE_CHANGED            0x0D
43 #define BTIF_AVCTP_RESPONSE_INTERIM            0x0F
44 #define BTIF_AVCTP_RESPONSE_BROWSING           0x40
45 
46 typedef U8 btif_avctp_opcode_t;
47 
48 #define BTIF_AVCTP_OPCODE_VENDOR_DEPENDENT     0x00
49 #define BTIF_AVCTP_OPCODE_UNIT_INFO            0x30
50 #define BTIF_AVCTP_OPCODE_SUBUNIT_INFO         0x31
51 #define BTIF_AVCTP_OPCODE_PASS_THROUGH         0x7C
52 
53 #define BTIF_AVCTP_PACKET_TYPE_SINGLE          0
54 #define BTIF_AVCTP_PACKET_TYPE_START           1
55 #define BTIF_AVCTP_PACKET_TYPE_CONTINUE        2
56 #define BTIF_AVCTP_PACKET_TYPE_END             3
57 
58 typedef U8 btif_avctp_errorcode_t;
59 
60 #define BTIF_AVRCP_ERR_INVALID_CMD         0x00
61 #define BTIF_AVRCP_ERR_INVALID_PARM        0x01
62 
63 typedef void avctp_cmdframe_t;
64 typedef void avctp_rspframe_t;
65 
66 typedef struct {
67 
68     /* Callback parameter object, depending on "event" */
69     union {
70 
71         void *remDev;
72 
73         void *cmdFrame;
74 
75         void *rspFrame;
76     } p;
77 } avctp_callback_parms_t;
78 
79 #endif /*  */
80