1377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#ifndef __VOICE_SVC_H__
2377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define __VOICE_SVC_H__
3377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
4377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#include <linux/types.h>
5377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#include <linux/ioctl.h>
6377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
7377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define VOICE_SVC_DRIVER_NAME "voice_svc"
8377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
9377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define VOICE_SVC_MVM_STR "MVM"
10377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define VOICE_SVC_CVS_STR "CVS"
11377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define MAX_APR_SERVICE_NAME_LEN  64
12377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
13377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define MSG_REGISTER 0x1
14377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define MSG_REQUEST  0x2
15377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#define MSG_RESPONSE 0x3
16377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
17377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastavastruct voice_svc_write_msg {
18377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 msg_type;
19377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u8 payload[0];
20377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava};
21377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
22377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastavastruct voice_svc_register {
23377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	char svc_name[MAX_APR_SERVICE_NAME_LEN];
24377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 src_port;
25377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u8 reg_flag;
26377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava};
27377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
28377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastavastruct voice_svc_cmd_response {
29377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 src_port;
30377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 dest_port;
31377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 token;
32377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 opcode;
33377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 payload_size;
34377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u8 payload[0];
35377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava};
36377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
37377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastavastruct voice_svc_cmd_request {
38377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	char svc_name[MAX_APR_SERVICE_NAME_LEN];
39377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 src_port;
40377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 dest_port;
41377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 token;
42377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 opcode;
43377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u32 payload_size;
44377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava	__u8 payload[0];
45377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava};
46377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava
47377a63e191a90aab8aad025c7a2e0231f5d6ecf2Vineeta Srivastava#endif
48