1package rmtfs;
2
3const QMI_RMTFS_RESULT_SUCCESS = 0;
4const QMI_RMTFS_RESULT_FAILURE = 1;
5
6const QMI_RMTFS_ERR_NONE = 0;
7const QMI_RMTFS_ERR_INTERNAL = 1;
8const QMI_RMTFS_ERR_MALFORMED_MSG = 2;
9
10const QMI_RMTFS_OPEN = 1;
11const QMI_RMTFS_CLOSE = 2;
12const QMI_RMTFS_RW_IOVEC = 3;
13const QMI_RMTFS_ALLOC_BUFF = 4;
14const QMI_RMTFS_GET_DEV_ERROR = 5;
15const QMI_RMTFS_FORCE_SYNC_IND = 6;
16
17struct qmi_result {
18	u16 result;
19	u16 error;
20};
21
22struct iovec_entry {
23	u32 sector_addr;
24	u32 phys_offset;
25	u32 num_sector;
26};
27
28request open_req {
29	required string path = 1;
30} = 1;
31
32response open_resp {
33	required qmi_result result = 2;
34	optional u32 caller_id = 0x10;
35} = 1;
36
37request close_req {
38	required u32 caller_id = 1;
39} = 2;
40
41response close_resp {
42	required qmi_result result = 2;
43} = 2;
44
45request iovec_req {
46	required u32 caller_id = 1;
47	required u8 direction = 2;
48	required iovec_entry iovec(255) = 3;
49	required u8 is_force_sync = 4;
50} = 3;
51
52response iovec_resp {
53	required qmi_result result = 2;
54} = 3;
55
56request alloc_buf_req {
57	required u32 caller_id = 1;
58	required u32 buff_size = 2;
59} = 4;
60
61response alloc_buf_resp {
62	required qmi_result result = 2;
63	optional u64 buff_address = 0x10;
64} = 4;
65
66request dev_error_req {
67	required u32 caller_id = 1;
68} = 5;
69
70response dev_error_resp {
71	required qmi_result result = 2;
72	optional u8 status = 0x10;
73} = 5;
74
75indication force_sync {
76	required u32 caller_id(10) = 1;
77} = 6;
78