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
17struct voice_svc_write_msg {
18	__u32 msg_type;
19	__u8 payload[0];
20};
21
22struct voice_svc_register {
23	char svc_name[MAX_APR_SERVICE_NAME_LEN];
24	__u32 src_port;
25	__u8 reg_flag;
26};
27
28struct 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
37struct 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