Vicky Sehrawat | a48de5e | 2014-02-05 16:52:32 -0800 | [diff] [blame] | 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 | struct voice_svc_register { |
| 14 | char svc_name[MAX_APR_SERVICE_NAME_LEN]; |
| 15 | __u32 src_port; |
| 16 | __u8 reg_flag; |
| 17 | }; |
| 18 | |
| 19 | struct voice_svc_cmd_response { |
| 20 | __u32 src_port; |
| 21 | __u32 dest_port; |
| 22 | __u32 token; |
| 23 | __u32 opcode; |
| 24 | __u32 payload_size; |
| 25 | __u8 payload[0]; |
| 26 | }; |
| 27 | |
| 28 | struct voice_svc_cmd_request { |
| 29 | char svc_name[MAX_APR_SERVICE_NAME_LEN]; |
| 30 | __u32 src_port; |
| 31 | __u32 dest_port; |
| 32 | __u32 token; |
| 33 | __u32 opcode; |
| 34 | __u32 payload_size; |
| 35 | __u8 payload[0]; |
| 36 | }; |
| 37 | |
| 38 | #define VOICE_SVC_MAGIC 'N' |
| 39 | |
| 40 | #define SNDRV_VOICE_SVC_REGISTER_SVC _IOWR(VOICE_SVC_MAGIC, \ |
| 41 | 0x01, struct voice_svc_register) |
| 42 | #define SNDRV_VOICE_SVC_CMD_RESPONSE _IOWR(VOICE_SVC_MAGIC, \ |
| 43 | 0x02, struct voice_svc_cmd_response) |
| 44 | #define SNDRV_VOICE_SVC_CMD_REQUEST _IOWR(VOICE_SVC_MAGIC, \ |
| 45 | 0x03, struct voice_svc_cmd_request) |
| 46 | #endif |