13f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#ifndef __VOICE_SVC_H__
23f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define __VOICE_SVC_H__
33f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
43f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#include <linux/types.h>
53f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#include <linux/ioctl.h>
63f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
73f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define VOICE_SVC_DRIVER_NAME "voice_svc"
83f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
93f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define VOICE_SVC_MVM_STR "MVM"
103f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define VOICE_SVC_CVS_STR "CVS"
113f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define MAX_APR_SERVICE_NAME_LEN  64
123f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
133f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define MSG_REGISTER 0x1
143f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define MSG_REQUEST  0x2
153f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#define MSG_RESPONSE 0x3
163f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
173f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct voice_svc_write_msg {
183f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 msg_type;
193f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u8 payload[0];
203f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
213f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
223f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct voice_svc_register {
233f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	char svc_name[MAX_APR_SERVICE_NAME_LEN];
243f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 src_port;
253f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u8 reg_flag;
263f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
273f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
283f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct voice_svc_cmd_response {
293f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 src_port;
303f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 dest_port;
313f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 token;
323f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 opcode;
333f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 payload_size;
343f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u8 payload[0];
353f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
363f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
373f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malanistruct voice_svc_cmd_request {
383f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	char svc_name[MAX_APR_SERVICE_NAME_LEN];
393f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 src_port;
403f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 dest_port;
413f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 token;
423f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 opcode;
433f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u32 payload_size;
443f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani	__u8 payload[0];
453f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani};
463f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani
473f2fb3787bb5fe0b975d0d193f31127f08ef2fc9Prashant Malani#endif
48