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