blob: f6d98a24fdc078954232e511bc93c266ac014de5 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2 *
3 * Filename:
4 * ---------
5 * l4c2smu_vzw_struct.h
6 *
7 * Project:
8 * --------
9 * UMOLYA
10 *
11 * Description:
12 * ------------
13 * This file defines the data structure used between L4C and SMU reardign to
14 * VZW feature
15 *
16 * Author:
17 * -------
18 * -------
19 *
20 ****************************************************************************/
21#ifndef _L4C2SMU_VZW_STRUCT_H
22#define _L4C2SMU_VZW_STRUCT_H
23
24#include "kal_public_defs.h"
25#include "l4c_common_enum.h"
26#include "kal_general_types.h"
27#include "custom_sml.h"
28#include "sml_public_def.h"
29
30typedef struct {
31 LOCAL_PARA_HDR
32 l4c_source_id_enum src_id;
33} l4csmu_vzw_rsu_initiate_req_struct;
34
35typedef struct {
36 kal_uint8 msg_type;
37 kal_uint8 imei[15];
38 kal_uint8 major_ver;
39 kal_uint8 minor_ver;
40 kal_uint8 session_id[8];
41 kal_uint8 max_major_ver;
42 kal_uint8 max_minor_ver;
43} sml_vzw_rsu_req_msg_struct;
44
45typedef struct {
46 LOCAL_PARA_HDR
47 l4c_source_id_enum src_id;
48 kal_bool result;
49 sml_vzw_rsu_req_msg_struct request_msg; // 1 + 15 + 1 + 1 + 8 + 1 + 1
50 kal_uint8 hmac[32];
51} l4csmu_vzw_rsu_initiate_cnf_struct;
52
53typedef struct {
54 kal_uint8 major_ver;
55 kal_uint8 minor_ver;
56 kal_uint8 protection_algo;
57 kal_uint8 nw_lock_op;
58 kal_uint8 imei[15];
59 kal_uint8 timestamp[8];
60 kal_uint8 nw_num;
61 kal_uint8 nw_list[SML_VZW_RSU_NW_LIST_LEN];
62 kal_uint8 ns_num;
63 kal_uint8 ns_list[SML_VZW_RSU_NS_LIST_LEN];
64 kal_uint8 sp_num;
65 kal_uint8 sp_list[SML_VZW_RSU_SP_LIST_LEN];
66 kal_uint8 ehplmn_num;
67 kal_uint8 ehplmn_list[SML_VZW_RSU_EHPLMN_LIST_LEN];
68 kal_uint8 signature[256]; //Used for RSA based integrity checking
69} sml_vzw_rsu_rsp_msg_struct;
70
71typedef struct {
72 LOCAL_PARA_HDR
73 l4c_source_id_enum src_id;
74 kal_uint16 data_len;
75 kal_uint8 data[MAX_VZW_RSU_RSP_SIZE];
76} l4csmu_vzw_rsu_response_req_struct;
77
78typedef struct {
79 kal_uint8 msg_type;
80 kal_uint8 imei[15];
81 kal_uint8 major_ver;
82 kal_uint8 minor_ver;
83 kal_uint8 nw_lock_op;
84 kal_uint8 error_code;
85 kal_uint8 timestamp[8];
86} sml_vzw_rsu_status_msg_struct;
87
88typedef struct {
89 sml_vzw_rsu_status_msg_struct status_msg;
90 kal_uint8 hmac[32];
91} smu_vzw_rsu_status_ind_struct;
92
93typedef struct {
94 LOCAL_PARA_HDR
95 l4c_source_id_enum src_id;
96 kal_bool result;
97 smu_vzw_rsu_status_ind_struct status_ind;
98} l4csmu_vzw_rsu_response_cnf_struct;
99
100typedef struct {
101 LOCAL_PARA_HDR
102 l4c_source_id_enum src_id;
103 smu_vzw_rsu_delay_timer_op_enum mode;
104} l4csmu_vzw_rsu_delay_timer_req_struct;
105
106typedef struct {
107 LOCAL_PARA_HDR
108 l4c_source_id_enum src_id;
109 sml_vzw_rsu_unlock_timer_resp_enum resp;
110 kal_uint16 unlock_timer;
111} l4csmu_vzw_rsu_delay_timer_cnf_struct;
112
113typedef struct {
114 LOCAL_PARA_HDR
115 l4c_source_id_enum src_id;
116} l4csmu_vzw_rsu_data_reset_req_struct;
117
118typedef struct {
119 LOCAL_PARA_HDR
120 l4c_source_id_enum src_id;
121 kal_bool result;
122} l4csmu_vzw_rsu_data_reset_cnf_struct;
123
124
125#endif /* _L4C2SMU_VZW_STRUCT_H */