1 #ifndef __VOICE_SVC_H__
2 #define __VOICE_SVC_H__
3 
4 #include <linux/types.h>
5 #include <linux/ioctl.h>
6 
7 #define VOICE_SVC_DRIVER_NAME "voice_svc"
8 
9 #define VOICE_SVC_MVM_STR "MVM"
10 #define VOICE_SVC_CVS_STR "CVS"
11 #define MAX_APR_SERVICE_NAME_LEN  64
12 
13 #define MSG_REGISTER 0x1
14 #define MSG_REQUEST  0x2
15 #define MSG_RESPONSE 0x3
16 
17 struct voice_svc_write_msg {
18 	__u32 msg_type;
19 	__u8 payload[0];
20 };
21 
22 struct voice_svc_register {
23 	char svc_name[MAX_APR_SERVICE_NAME_LEN];
24 	__u32 src_port;
25 	__u8 reg_flag;
26 };
27 
28 struct voice_svc_cmd_response {
29 	__u32 src_port;
30 	__u32 dest_port;
31 	__u32 token;
32 	__u32 opcode;
33 	__u32 payload_size;
34 	__u8 payload[0];
35 };
36 
37 struct voice_svc_cmd_request {
38 	char svc_name[MAX_APR_SERVICE_NAME_LEN];
39 	__u32 src_port;
40 	__u32 dest_port;
41 	__u32 token;
42 	__u32 opcode;
43 	__u32 payload_size;
44 	__u8 payload[0];
45 };
46 
47 #endif
48