xref: /aosp_15_r20/system/nfc/src/nci_packets.pdl (revision 7eba2f3b06c51ae21384f6a4f14577b668a869b3)
1*7eba2f3bSAndroid Build Coastguard Workerlittle_endian_packets
2*7eba2f3bSAndroid Build Coastguard Worker
3*7eba2f3bSAndroid Build Coastguard Workerenum PacketBoundaryFlag : 1 {
4*7eba2f3bSAndroid Build Coastguard Worker  COMPLETE_OR_FINAL = 0,
5*7eba2f3bSAndroid Build Coastguard Worker  INCOMPLETE = 1,
6*7eba2f3bSAndroid Build Coastguard Worker}
7*7eba2f3bSAndroid Build Coastguard Worker
8*7eba2f3bSAndroid Build Coastguard Workerenum NciMsgType : 3 {
9*7eba2f3bSAndroid Build Coastguard Worker  DATA = 0,
10*7eba2f3bSAndroid Build Coastguard Worker  COMMAND = 1,
11*7eba2f3bSAndroid Build Coastguard Worker  RESPONSE = 2,
12*7eba2f3bSAndroid Build Coastguard Worker  NOTIFICATION = 3,
13*7eba2f3bSAndroid Build Coastguard Worker}
14*7eba2f3bSAndroid Build Coastguard Worker
15*7eba2f3bSAndroid Build Coastguard Workerenum Opcode : 8 {
16*7eba2f3bSAndroid Build Coastguard Worker  CORE_RESET = 0x0,
17*7eba2f3bSAndroid Build Coastguard Worker  CORE_INIT = 0x1,
18*7eba2f3bSAndroid Build Coastguard Worker  CORE_SET_CONFIG = 0x2,
19*7eba2f3bSAndroid Build Coastguard Worker  CORE_GET_CONFIG = 0x3,
20*7eba2f3bSAndroid Build Coastguard Worker  CORE_CONN_CREATE = 0x4,
21*7eba2f3bSAndroid Build Coastguard Worker  CORE_CONN_CLOSE = 0x5,
22*7eba2f3bSAndroid Build Coastguard Worker  CORE_CONN_CREDITS = 0x6,
23*7eba2f3bSAndroid Build Coastguard Worker  CORE_GENERIC_ERROR = 0x7,
24*7eba2f3bSAndroid Build Coastguard Worker  CORE_INTERFACE_ERROR = 0x8,
25*7eba2f3bSAndroid Build Coastguard Worker  CORE_SET_POWER_SUBSTATE = 0x9,
26*7eba2f3bSAndroid Build Coastguard Worker  RF_DISCOVER_MAP = 0x40,
27*7eba2f3bSAndroid Build Coastguard Worker  RF_SET_LISTEN_MODE_ROUTING = 0x41,
28*7eba2f3bSAndroid Build Coastguard Worker  RF_GET_LISTEN_MODE_ROUTING = 0x42,
29*7eba2f3bSAndroid Build Coastguard Worker  RF_DISCOVER = 0x43,
30*7eba2f3bSAndroid Build Coastguard Worker  RF_DISCOVER_SELECT = 0x44,
31*7eba2f3bSAndroid Build Coastguard Worker  RF_INTF_ACTIVATED = 0x45,
32*7eba2f3bSAndroid Build Coastguard Worker  RF_DIACTIVATE = 0x46,
33*7eba2f3bSAndroid Build Coastguard Worker  RF_FIELD_INFO = 0x47,
34*7eba2f3bSAndroid Build Coastguard Worker  RF_T3T_POLLING = 0x48,
35*7eba2f3bSAndroid Build Coastguard Worker  RF_NFCEE_ACTION = 0x49,
36*7eba2f3bSAndroid Build Coastguard Worker  RF_NFCEE_DISCOVERY_REQ = 0x4A,
37*7eba2f3bSAndroid Build Coastguard Worker  RF_PARAMETER_UPDATE = 0x4B,
38*7eba2f3bSAndroid Build Coastguard Worker  RF_INTF_EXT_START = 0x4C,
39*7eba2f3bSAndroid Build Coastguard Worker  RF_INTF_EXT_STOP = 0x4D,
40*7eba2f3bSAndroid Build Coastguard Worker  RF_EXT_AGG_ABORT = 0x4E,
41*7eba2f3bSAndroid Build Coastguard Worker  RF_NDEF_ABORT = 0x4F,
42*7eba2f3bSAndroid Build Coastguard Worker  RF_ISO_DEP_NAK_PRESENCE = 0x50,
43*7eba2f3bSAndroid Build Coastguard Worker  RF_SET_FORCED_NFCEE_ROUTING_CMD = 0x51,
44*7eba2f3bSAndroid Build Coastguard Worker}
45*7eba2f3bSAndroid Build Coastguard Worker
46*7eba2f3bSAndroid Build Coastguard Workerenum Status : 8 {
47*7eba2f3bSAndroid Build Coastguard Worker  OK = 0x00,
48*7eba2f3bSAndroid Build Coastguard Worker  REJECTED = 0x01,
49*7eba2f3bSAndroid Build Coastguard Worker  FAILED = 0x03,
50*7eba2f3bSAndroid Build Coastguard Worker  NOT_INITIALIZED = 0x04,
51*7eba2f3bSAndroid Build Coastguard Worker  SYNTAX_ERROR = 0x05,
52*7eba2f3bSAndroid Build Coastguard Worker  SEMANTIC_ERROR = 0x06,
53*7eba2f3bSAndroid Build Coastguard Worker  INVALID_PARAM = 0x09,
54*7eba2f3bSAndroid Build Coastguard Worker  MESSAGE_SIZE_EXCEEDED = 0x0A,
55*7eba2f3bSAndroid Build Coastguard Worker  OK_1_BIT = 0x11,
56*7eba2f3bSAndroid Build Coastguard Worker  OK_2_BIT = 0x12,
57*7eba2f3bSAndroid Build Coastguard Worker  OK_3_BIT = 0x13,
58*7eba2f3bSAndroid Build Coastguard Worker  OK_4_BIT = 0x14,
59*7eba2f3bSAndroid Build Coastguard Worker  OK_5_BIT = 0x15,
60*7eba2f3bSAndroid Build Coastguard Worker  OK_6_BIT = 0x16,
61*7eba2f3bSAndroid Build Coastguard Worker  OK_7_BIT = 0x17,
62*7eba2f3bSAndroid Build Coastguard Worker  DISCOVERY_ALREADY_STARTED = 0xA0,
63*7eba2f3bSAndroid Build Coastguard Worker  DISCOVERY_TARGET_ACTIVATION_FAILED = 0xA1,
64*7eba2f3bSAndroid Build Coastguard Worker  DISCOVERY_TEAR_DOWN = 0xA2,
65*7eba2f3bSAndroid Build Coastguard Worker  RF_FRAME_CORRUPTED = 0x02,
66*7eba2f3bSAndroid Build Coastguard Worker  RF_TRANSMISSION_EXCEPTION = 0xB0,
67*7eba2f3bSAndroid Build Coastguard Worker  RF_PROTOCOL_EXCEPTION = 0xB1,
68*7eba2f3bSAndroid Build Coastguard Worker  RF_TIMEOUT_EXCEPTION = 0xB2,
69*7eba2f3bSAndroid Build Coastguard Worker  RF_UNEXPECTED_DATA = 0xB3,
70*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_INTERFACE_ACTIVATION_FAILED = 0xC0,
71*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_TRANSMISSION_ERROR = 0xC1,
72*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_PROTOCOL_ERROR = 0xC2,
73*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_TIMEOUT_ERROR = 0xC3,
74*7eba2f3bSAndroid Build Coastguard Worker}
75*7eba2f3bSAndroid Build Coastguard Worker
76*7eba2f3bSAndroid Build Coastguard Workerpacket NciPacket {
77*7eba2f3bSAndroid Build Coastguard Worker  gid : 4,
78*7eba2f3bSAndroid Build Coastguard Worker  pbf : PacketBoundaryFlag,
79*7eba2f3bSAndroid Build Coastguard Worker  mt : NciMsgType,
80*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
81*7eba2f3bSAndroid Build Coastguard Worker}
82*7eba2f3bSAndroid Build Coastguard Worker
83*7eba2f3bSAndroid Build Coastguard Workerpacket Command : NciPacket (mt = COMMAND) {
84*7eba2f3bSAndroid Build Coastguard Worker  op : Opcode,
85*7eba2f3bSAndroid Build Coastguard Worker  _size_(_payload_) : 8,
86*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
87*7eba2f3bSAndroid Build Coastguard Worker}
88*7eba2f3bSAndroid Build Coastguard Worker
89*7eba2f3bSAndroid Build Coastguard Workerpacket Response : NciPacket (mt = RESPONSE) {
90*7eba2f3bSAndroid Build Coastguard Worker  cmd_op : Opcode,
91*7eba2f3bSAndroid Build Coastguard Worker  _size_(_payload_) : 8,
92*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
93*7eba2f3bSAndroid Build Coastguard Worker}
94*7eba2f3bSAndroid Build Coastguard Worker
95*7eba2f3bSAndroid Build Coastguard Workerpacket Notification : NciPacket (mt = NOTIFICATION) {
96*7eba2f3bSAndroid Build Coastguard Worker  cmd_op : Opcode,
97*7eba2f3bSAndroid Build Coastguard Worker  _size_(_payload_) : 8,
98*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
99*7eba2f3bSAndroid Build Coastguard Worker}
100*7eba2f3bSAndroid Build Coastguard Worker
101*7eba2f3bSAndroid Build Coastguard Workerpacket DataPacket {
102*7eba2f3bSAndroid Build Coastguard Worker  conn_id : 4,
103*7eba2f3bSAndroid Build Coastguard Worker  pbf : PacketBoundaryFlag,
104*7eba2f3bSAndroid Build Coastguard Worker  _fixed_ =  0x0 : 3,
105*7eba2f3bSAndroid Build Coastguard Worker  cr : 8,
106*7eba2f3bSAndroid Build Coastguard Worker  _size_(_payload_) : 8,
107*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
108*7eba2f3bSAndroid Build Coastguard Worker}
109*7eba2f3bSAndroid Build Coastguard Worker
110*7eba2f3bSAndroid Build Coastguard Workerenum ResetType : 8 {
111*7eba2f3bSAndroid Build Coastguard Worker  KEEP_CONFIG = 0,
112*7eba2f3bSAndroid Build Coastguard Worker  RESET_CONFIG = 1,
113*7eba2f3bSAndroid Build Coastguard Worker}
114*7eba2f3bSAndroid Build Coastguard Worker
115*7eba2f3bSAndroid Build Coastguard Workerpacket ResetCommand : Command (op = CORE_RESET) {
116*7eba2f3bSAndroid Build Coastguard Worker  reset_type: ResetType,
117*7eba2f3bSAndroid Build Coastguard Worker}
118*7eba2f3bSAndroid Build Coastguard Worker
119*7eba2f3bSAndroid Build Coastguard Workertest ResetCommand {
120*7eba2f3bSAndroid Build Coastguard Worker  "\x20\x00\x01\x01",
121*7eba2f3bSAndroid Build Coastguard Worker}
122*7eba2f3bSAndroid Build Coastguard Worker
123*7eba2f3bSAndroid Build Coastguard Workerpacket ResetResponse : Response (cmd_op = CORE_RESET) {
124*7eba2f3bSAndroid Build Coastguard Worker  status: Status,
125*7eba2f3bSAndroid Build Coastguard Worker}
126*7eba2f3bSAndroid Build Coastguard Worker
127*7eba2f3bSAndroid Build Coastguard Workertest ResetResponse {
128*7eba2f3bSAndroid Build Coastguard Worker  "\x40\x00\x01\x00",
129*7eba2f3bSAndroid Build Coastguard Worker}
130*7eba2f3bSAndroid Build Coastguard Worker
131*7eba2f3bSAndroid Build Coastguard Workerenum ResetTrigger : 8 {
132*7eba2f3bSAndroid Build Coastguard Worker  UNRECOVERABLE_ERROR = 0,
133*7eba2f3bSAndroid Build Coastguard Worker  POWER_ON = 1,
134*7eba2f3bSAndroid Build Coastguard Worker  RESET_COMMAND = 2,
135*7eba2f3bSAndroid Build Coastguard Worker}
136*7eba2f3bSAndroid Build Coastguard Worker
137*7eba2f3bSAndroid Build Coastguard Workerenum NciVersion : 8 {
138*7eba2f3bSAndroid Build Coastguard Worker  VERSION_1_0 = 0x10,
139*7eba2f3bSAndroid Build Coastguard Worker  VERSION_1_1 = 0x11,
140*7eba2f3bSAndroid Build Coastguard Worker  VERSION_2_0 = 0x20,
141*7eba2f3bSAndroid Build Coastguard Worker}
142*7eba2f3bSAndroid Build Coastguard Worker
143*7eba2f3bSAndroid Build Coastguard Workerenum ConfigStatus : 8 {
144*7eba2f3bSAndroid Build Coastguard Worker  CONFIG_KEPT = 0x00,
145*7eba2f3bSAndroid Build Coastguard Worker  CONFIG_RESET = 0x01,
146*7eba2f3bSAndroid Build Coastguard Worker}
147*7eba2f3bSAndroid Build Coastguard Worker
148*7eba2f3bSAndroid Build Coastguard Workerpacket ResetNotification : Notification (cmd_op = CORE_RESET) {
149*7eba2f3bSAndroid Build Coastguard Worker  trigger : ResetTrigger,
150*7eba2f3bSAndroid Build Coastguard Worker  config_status : ConfigStatus,
151*7eba2f3bSAndroid Build Coastguard Worker  nci_version : NciVersion,
152*7eba2f3bSAndroid Build Coastguard Worker  manufacturer_id: 8,
153*7eba2f3bSAndroid Build Coastguard Worker  _size_(mfsi) : 8,
154*7eba2f3bSAndroid Build Coastguard Worker  mfsi : 8[],
155*7eba2f3bSAndroid Build Coastguard Worker}
156*7eba2f3bSAndroid Build Coastguard Worker
157*7eba2f3bSAndroid Build Coastguard Workertest ResetNotification {
158*7eba2f3bSAndroid Build Coastguard Worker  "\x60\x00\x1f\x02\x01\x20\x02\x1a\x05\x03\x03\x06\x88\x97\x01\x06\x00\x00\x44\x64\xd6\x00\x00\xec\x10\x00\x00\x00\x01\x00\x00\xee\xe7\x02",
159*7eba2f3bSAndroid Build Coastguard Worker}
160*7eba2f3bSAndroid Build Coastguard Worker
161*7eba2f3bSAndroid Build Coastguard Workerenum FeatureEnable : 16 {
162*7eba2f3bSAndroid Build Coastguard Worker  RFU = 0,
163*7eba2f3bSAndroid Build Coastguard Worker}
164*7eba2f3bSAndroid Build Coastguard Worker
165*7eba2f3bSAndroid Build Coastguard Worker
166*7eba2f3bSAndroid Build Coastguard Workerenum DiscConfMode : 2 {
167*7eba2f3bSAndroid Build Coastguard Worker  DH_ONLY = 0x0,
168*7eba2f3bSAndroid Build Coastguard Worker  DH_AND_EE = 0x1,
169*7eba2f3bSAndroid Build Coastguard Worker}
170*7eba2f3bSAndroid Build Coastguard Worker
171*7eba2f3bSAndroid Build Coastguard Workerenum FeatureState : 1 {
172*7eba2f3bSAndroid Build Coastguard Worker  DISABLED = 0,
173*7eba2f3bSAndroid Build Coastguard Worker  AVAILABLE = 1,
174*7eba2f3bSAndroid Build Coastguard Worker}
175*7eba2f3bSAndroid Build Coastguard Worker
176*7eba2f3bSAndroid Build Coastguard Workerstruct PropCaps {
177*7eba2f3bSAndroid Build Coastguard Worker  b7 : 1,
178*7eba2f3bSAndroid Build Coastguard Worker  b6 : 1,
179*7eba2f3bSAndroid Build Coastguard Worker  b5 : 1,
180*7eba2f3bSAndroid Build Coastguard Worker  b4 : 1,
181*7eba2f3bSAndroid Build Coastguard Worker  b3 : 1,
182*7eba2f3bSAndroid Build Coastguard Worker  b2 : 1,
183*7eba2f3bSAndroid Build Coastguard Worker  b1 : 1,
184*7eba2f3bSAndroid Build Coastguard Worker  b0 : 1,
185*7eba2f3bSAndroid Build Coastguard Worker}
186*7eba2f3bSAndroid Build Coastguard Worker
187*7eba2f3bSAndroid Build Coastguard Workerstruct NfccFeatures {
188*7eba2f3bSAndroid Build Coastguard Worker  disc_freq_conf : FeatureState,
189*7eba2f3bSAndroid Build Coastguard Worker  disc_conf_mode : DiscConfMode,
190*7eba2f3bSAndroid Build Coastguard Worker  hci_net_support : FeatureState,
191*7eba2f3bSAndroid Build Coastguard Worker  active_comm_mode : FeatureState,
192*7eba2f3bSAndroid Build Coastguard Worker  _reserved_ : 3,
193*7eba2f3bSAndroid Build Coastguard Worker  _reserved_: 1,
194*7eba2f3bSAndroid Build Coastguard Worker  tech_routing : FeatureState,
195*7eba2f3bSAndroid Build Coastguard Worker  proto_routing : FeatureState,
196*7eba2f3bSAndroid Build Coastguard Worker  aid_routing : FeatureState,
197*7eba2f3bSAndroid Build Coastguard Worker  syc_code_routing : FeatureState,
198*7eba2f3bSAndroid Build Coastguard Worker  apdu_pttn_routing : FeatureState,
199*7eba2f3bSAndroid Build Coastguard Worker  forced_nfcee_routing : FeatureState,
200*7eba2f3bSAndroid Build Coastguard Worker  _reserved_ : 1,
201*7eba2f3bSAndroid Build Coastguard Worker  batt_off_st : FeatureState,
202*7eba2f3bSAndroid Build Coastguard Worker  soff_st : FeatureState,
203*7eba2f3bSAndroid Build Coastguard Worker  swon_subst : FeatureState,
204*7eba2f3bSAndroid Build Coastguard Worker  rf_conf_soff: FeatureState,
205*7eba2f3bSAndroid Build Coastguard Worker  _reserved_ : 4,
206*7eba2f3bSAndroid Build Coastguard Worker  prop_caps: PropCaps,
207*7eba2f3bSAndroid Build Coastguard Worker}
208*7eba2f3bSAndroid Build Coastguard Worker
209*7eba2f3bSAndroid Build Coastguard Workerenum Intf : 8 {
210*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_DIRECT_RF = 0x00,
211*7eba2f3bSAndroid Build Coastguard Worker  FRAME_RF = 0x01,
212*7eba2f3bSAndroid Build Coastguard Worker  ISO_DEP_RF = 0x02,
213*7eba2f3bSAndroid Build Coastguard Worker  NFC_DEP_RF = 0x03,
214*7eba2f3bSAndroid Build Coastguard Worker  NDEF_RF = 0x06,
215*7eba2f3bSAndroid Build Coastguard Worker}
216*7eba2f3bSAndroid Build Coastguard Worker
217*7eba2f3bSAndroid Build Coastguard Workerenum Extns : 8 {
218*7eba2f3bSAndroid Build Coastguard Worker  FR_AGREG_RF_EXT = 0x00,
219*7eba2f3bSAndroid Build Coastguard Worker  LLCP_SYM_RF_EXT = 0x01,
220*7eba2f3bSAndroid Build Coastguard Worker}
221*7eba2f3bSAndroid Build Coastguard Worker
222*7eba2f3bSAndroid Build Coastguard Workerstruct ExtList {
223*7eba2f3bSAndroid Build Coastguard Worker  ext : Extns,
224*7eba2f3bSAndroid Build Coastguard Worker}
225*7eba2f3bSAndroid Build Coastguard Worker
226*7eba2f3bSAndroid Build Coastguard Workerstruct RfInterface {
227*7eba2f3bSAndroid Build Coastguard Worker  intf : 8,
228*7eba2f3bSAndroid Build Coastguard Worker  _size_(extns) : 8,
229*7eba2f3bSAndroid Build Coastguard Worker  extns : 8[],
230*7eba2f3bSAndroid Build Coastguard Worker}
231*7eba2f3bSAndroid Build Coastguard Worker
232*7eba2f3bSAndroid Build Coastguard Workerpacket InitCommand : Command (op = CORE_INIT) {
233*7eba2f3bSAndroid Build Coastguard Worker  feature_enable : FeatureEnable,
234*7eba2f3bSAndroid Build Coastguard Worker}
235*7eba2f3bSAndroid Build Coastguard Worker
236*7eba2f3bSAndroid Build Coastguard Workertest InitCommand {
237*7eba2f3bSAndroid Build Coastguard Worker  "\x20\x01\x02\x00\x00",
238*7eba2f3bSAndroid Build Coastguard Worker}
239*7eba2f3bSAndroid Build Coastguard Worker
240*7eba2f3bSAndroid Build Coastguard Workerpacket InitResponse : Response (cmd_op = CORE_INIT) {
241*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
242*7eba2f3bSAndroid Build Coastguard Worker  nfcc_features : NfccFeatures,
243*7eba2f3bSAndroid Build Coastguard Worker  max_log_conns : 4, //TODO set max to 0x0E
244*7eba2f3bSAndroid Build Coastguard Worker  _reserved_ : 4,
245*7eba2f3bSAndroid Build Coastguard Worker  max_rout_tbls_size : 16,
246*7eba2f3bSAndroid Build Coastguard Worker  max_ctrl_payload : 8,  //TODO 32 <= val <= 255
247*7eba2f3bSAndroid Build Coastguard Worker  max_data_payload : 8,
248*7eba2f3bSAndroid Build Coastguard Worker  num_of_credits : 8,
249*7eba2f3bSAndroid Build Coastguard Worker  max_nfcv_rf_frame_sz : 16,
250*7eba2f3bSAndroid Build Coastguard Worker  _count_(rf_interface) : 8,
251*7eba2f3bSAndroid Build Coastguard Worker  rf_interface: RfInterface[],
252*7eba2f3bSAndroid Build Coastguard Worker}
253*7eba2f3bSAndroid Build Coastguard Worker
254*7eba2f3bSAndroid Build Coastguard Workertest InitResponse {
255*7eba2f3bSAndroid Build Coastguard Worker  "\x40\x01\x18\x00\x1a\x7e\x06\x00\x01\x00\x04\xff\xff\x00\x0c\x01\x05\x01\x00\x02\x00\x03\x00\x00\x00\x90\x00",
256*7eba2f3bSAndroid Build Coastguard Worker}
257*7eba2f3bSAndroid Build Coastguard Worker
258*7eba2f3bSAndroid Build Coastguard Workerenum ParamIds : 8 {
259*7eba2f3bSAndroid Build Coastguard Worker  TOTAL_DURATION = 0x00,
260*7eba2f3bSAndroid Build Coastguard Worker  CON_DISCOVERY_PARAM = 0x02,
261*7eba2f3bSAndroid Build Coastguard Worker  POWER_STATE = 0x03,
262*7eba2f3bSAndroid Build Coastguard Worker  PA_BAIL_OUT = 0x08,
263*7eba2f3bSAndroid Build Coastguard Worker  PA_DEVICES_LIMIT = 0x09,
264*7eba2f3bSAndroid Build Coastguard Worker  PB_AFI = 0x10,
265*7eba2f3bSAndroid Build Coastguard Worker  PB_BAIL_OUT = 0x11,
266*7eba2f3bSAndroid Build Coastguard Worker  PB_ATTRIB_PARAM1 = 0x12,
267*7eba2f3bSAndroid Build Coastguard Worker  PB_SENSB_REQ_PARAM = 0x13,
268*7eba2f3bSAndroid Build Coastguard Worker  PB_DEVICES_LIMIT = 0x14,
269*7eba2f3bSAndroid Build Coastguard Worker  PF_BIT_RATE = 0x18,
270*7eba2f3bSAndroid Build Coastguard Worker  PF_BAIL_OUT = 0x19,
271*7eba2f3bSAndroid Build Coastguard Worker  PF_DEVICES_LIMIT = 0x1A,
272*7eba2f3bSAndroid Build Coastguard Worker  PI_B_H_INFO = 0x20,
273*7eba2f3bSAndroid Build Coastguard Worker  PI_BIT_RATE = 0x21,
274*7eba2f3bSAndroid Build Coastguard Worker  PN_NFC_DEP_PSL = 0x28,
275*7eba2f3bSAndroid Build Coastguard Worker  PN_ATR_REQ_GEN_BYTES = 0x29,
276*7eba2f3bSAndroid Build Coastguard Worker  PN_ATR_REQ_CONFIG = 0x2A,
277*7eba2f3bSAndroid Build Coastguard Worker  PV_DEVICES_LIMIT = 0x2F,
278*7eba2f3bSAndroid Build Coastguard Worker  LA_BIT_FRAME_SDD = 0x30,
279*7eba2f3bSAndroid Build Coastguard Worker  LA_PLATFORM_CONFIG = 0x31,
280*7eba2f3bSAndroid Build Coastguard Worker  LA_SEL_INFO = 0x32,
281*7eba2f3bSAndroid Build Coastguard Worker  LA_NFCID1 = 0x33,
282*7eba2f3bSAndroid Build Coastguard Worker  LB_SENSB_INFO = 0x38,
283*7eba2f3bSAndroid Build Coastguard Worker  LB_NFCID0 = 0x39,
284*7eba2f3bSAndroid Build Coastguard Worker  LB_APPLICATION_DATA = 0x3A,
285*7eba2f3bSAndroid Build Coastguard Worker  LB_SFGI = 0x3B,
286*7eba2f3bSAndroid Build Coastguard Worker  LB_FWI_ADC_FO = 0x3C,
287*7eba2f3bSAndroid Build Coastguard Worker  LB_BIT_RATE = 0x3E,
288*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_1 = 0x40,
289*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_2 = 0x41,
290*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_3 = 0x42,
291*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_4 = 0x43,
292*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_5 = 0x44,
293*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_6 = 0x45,
294*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_7 = 0x46,
295*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_8 = 0x47,
296*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_9 = 0x48,
297*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_10 = 0x49,
298*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_11 = 0x4A,
299*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_12 = 0x4B,
300*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_13 = 0x4C,
301*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_14 = 0x4D,
302*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_15 = 0x4E,
303*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_IDENTIFIERS_16 = 0x4F,
304*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_MAX = 0x52,
305*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_FLAGS = 0x53,
306*7eba2f3bSAndroid Build Coastguard Worker  LF_T3T_RD_ALLOWED = 0x55,
307*7eba2f3bSAndroid Build Coastguard Worker  LF_PROTOCOL_TYPE = 0x50,
308*7eba2f3bSAndroid Build Coastguard Worker  LI_A_RATS_TB1 = 0x58,
309*7eba2f3bSAndroid Build Coastguard Worker  LI_A_HIST_BY = 0x59,
310*7eba2f3bSAndroid Build Coastguard Worker  LI_B_H_INFO_RESP = 0x5A,
311*7eba2f3bSAndroid Build Coastguard Worker  LI_A_BIT_RATE = 0x5B,
312*7eba2f3bSAndroid Build Coastguard Worker  LI_A_RATS_TC1 = 0x5C,
313*7eba2f3bSAndroid Build Coastguard Worker  LN_WT = 0x60,
314*7eba2f3bSAndroid Build Coastguard Worker  LN_ATR_RES_GEN_BYTES = 0x61,
315*7eba2f3bSAndroid Build Coastguard Worker  LN_ATR_RES_CONFIG = 0x62,
316*7eba2f3bSAndroid Build Coastguard Worker  PACM_BIT_RATE = 0x68,
317*7eba2f3bSAndroid Build Coastguard Worker  RF_FIELD_INFO = 0x80,
318*7eba2f3bSAndroid Build Coastguard Worker  RF_NFCEE_ACTION = 0x81,
319*7eba2f3bSAndroid Build Coastguard Worker  NFCDEP_OP = 0x82,
320*7eba2f3bSAndroid Build Coastguard Worker  LLCP_VERSION = 0x83,
321*7eba2f3bSAndroid Build Coastguard Worker  NFCC_CONFIG_CONTROL = 0x85,
322*7eba2f3bSAndroid Build Coastguard Worker  PROP0 = 0xa0,
323*7eba2f3bSAndroid Build Coastguard Worker  PROP1 = 0xa1,
324*7eba2f3bSAndroid Build Coastguard Worker  PROP2 = 0xa2,
325*7eba2f3bSAndroid Build Coastguard Worker  PROP3 = 0xa3,
326*7eba2f3bSAndroid Build Coastguard Worker  PROP4 = 0xa4,
327*7eba2f3bSAndroid Build Coastguard Worker  PROP5 = 0xa5,
328*7eba2f3bSAndroid Build Coastguard Worker}
329*7eba2f3bSAndroid Build Coastguard Worker
330*7eba2f3bSAndroid Build Coastguard Workerstruct ConfigParams {
331*7eba2f3bSAndroid Build Coastguard Worker  paramid : ParamIds,
332*7eba2f3bSAndroid Build Coastguard Worker  _size_(valm) : 8,
333*7eba2f3bSAndroid Build Coastguard Worker  valm : 8[],
334*7eba2f3bSAndroid Build Coastguard Worker}
335*7eba2f3bSAndroid Build Coastguard Worker
336*7eba2f3bSAndroid Build Coastguard Workerstruct ParamList {
337*7eba2f3bSAndroid Build Coastguard Worker  pids : ParamIds,
338*7eba2f3bSAndroid Build Coastguard Worker}
339*7eba2f3bSAndroid Build Coastguard Worker
340*7eba2f3bSAndroid Build Coastguard Workerpacket SetConfigCommand : Command (op = CORE_SET_CONFIG) {
341*7eba2f3bSAndroid Build Coastguard Worker  _count_(params) : 8,
342*7eba2f3bSAndroid Build Coastguard Worker  params : ConfigParams[],
343*7eba2f3bSAndroid Build Coastguard Worker}
344*7eba2f3bSAndroid Build Coastguard Worker
345*7eba2f3bSAndroid Build Coastguard Workertest SetConfigCommand {
346*7eba2f3bSAndroid Build Coastguard Worker  "\x20\x02\x10\x05\x30\x01\x04\x31\x01\x00\x32\x01\x20\x38\x01\x01\x50\x01\x00",
347*7eba2f3bSAndroid Build Coastguard Worker}
348*7eba2f3bSAndroid Build Coastguard Worker
349*7eba2f3bSAndroid Build Coastguard Workerpacket SetConfigResponse : Response (cmd_op = CORE_SET_CONFIG) {
350*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
351*7eba2f3bSAndroid Build Coastguard Worker  _count_(paramids) : 8,
352*7eba2f3bSAndroid Build Coastguard Worker  paramids : ParamList[],
353*7eba2f3bSAndroid Build Coastguard Worker}
354*7eba2f3bSAndroid Build Coastguard Worker
355*7eba2f3bSAndroid Build Coastguard Workertest SetConfigResponse {
356*7eba2f3bSAndroid Build Coastguard Worker  "\x40\x02\x02\x00\x00",
357*7eba2f3bSAndroid Build Coastguard Worker}
358*7eba2f3bSAndroid Build Coastguard Worker
359*7eba2f3bSAndroid Build Coastguard Workerpacket GetConfigCommand : Command (op = CORE_GET_CONFIG) {
360*7eba2f3bSAndroid Build Coastguard Worker  _count_(paramids) : 8,
361*7eba2f3bSAndroid Build Coastguard Worker  paramids : ParamList[],
362*7eba2f3bSAndroid Build Coastguard Worker}
363*7eba2f3bSAndroid Build Coastguard Worker
364*7eba2f3bSAndroid Build Coastguard Workertest GetConfigCommand {
365*7eba2f3bSAndroid Build Coastguard Worker  "\x20\x03\x02\x01\x52",
366*7eba2f3bSAndroid Build Coastguard Worker}
367*7eba2f3bSAndroid Build Coastguard Worker
368*7eba2f3bSAndroid Build Coastguard Workerpacket GetConfigResponse : Response (cmd_op = CORE_GET_CONFIG) {
369*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
370*7eba2f3bSAndroid Build Coastguard Worker  _count_(params) : 8,
371*7eba2f3bSAndroid Build Coastguard Worker  params : ConfigParams[],
372*7eba2f3bSAndroid Build Coastguard Worker}
373*7eba2f3bSAndroid Build Coastguard Worker
374*7eba2f3bSAndroid Build Coastguard Workertest GetConfigResponse {
375*7eba2f3bSAndroid Build Coastguard Worker  "\x40\x03\x05\x00\x01\x52\x01\x10",
376*7eba2f3bSAndroid Build Coastguard Worker}
377*7eba2f3bSAndroid Build Coastguard Worker
378*7eba2f3bSAndroid Build Coastguard Workerenum RfProtocols : 8 {
379*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_UNDETERMINED = 0x00,
380*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_T1T = 0x01,
381*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_T2T = 0x02,
382*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_T3T = 0x03,
383*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_ISO_DEP = 0x04,
384*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_NFC_DEP = 0x05,
385*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_T5T = 0x06,
386*7eba2f3bSAndroid Build Coastguard Worker  PROTOCOL_NDEF = 0x07,
387*7eba2f3bSAndroid Build Coastguard Worker}
388*7eba2f3bSAndroid Build Coastguard Worker
389*7eba2f3bSAndroid Build Coastguard Workerenum NfceeProtocols : 8 {
390*7eba2f3bSAndroid Build Coastguard Worker  APDU = 0x00,
391*7eba2f3bSAndroid Build Coastguard Worker  RFU = 0x01,
392*7eba2f3bSAndroid Build Coastguard Worker  T3CS = 0x02,
393*7eba2f3bSAndroid Build Coastguard Worker  TRANSPARENT = 0x04,
394*7eba2f3bSAndroid Build Coastguard Worker}
395*7eba2f3bSAndroid Build Coastguard Worker
396*7eba2f3bSAndroid Build Coastguard Workerenum DestTypes : 8 {
397*7eba2f3bSAndroid Build Coastguard Worker  RFU = 0x00,
398*7eba2f3bSAndroid Build Coastguard Worker  NFCC_LPBK = 0x01,
399*7eba2f3bSAndroid Build Coastguard Worker  REMOTE = 0x02,
400*7eba2f3bSAndroid Build Coastguard Worker  NFCEE = 0x03,
401*7eba2f3bSAndroid Build Coastguard Worker}
402*7eba2f3bSAndroid Build Coastguard Worker
403*7eba2f3bSAndroid Build Coastguard Workerenum DestParamTypes : 8 {
404*7eba2f3bSAndroid Build Coastguard Worker  RF_DISC = 0x00,
405*7eba2f3bSAndroid Build Coastguard Worker  NFCEE = 0x01,
406*7eba2f3bSAndroid Build Coastguard Worker}
407*7eba2f3bSAndroid Build Coastguard Worker
408*7eba2f3bSAndroid Build Coastguard Workerstruct RfDiscType {
409*7eba2f3bSAndroid Build Coastguard Worker  id : 8,
410*7eba2f3bSAndroid Build Coastguard Worker  proto: RfProtocols,
411*7eba2f3bSAndroid Build Coastguard Worker}
412*7eba2f3bSAndroid Build Coastguard Worker
413*7eba2f3bSAndroid Build Coastguard Workerstruct NfceeType {
414*7eba2f3bSAndroid Build Coastguard Worker  id : 8,
415*7eba2f3bSAndroid Build Coastguard Worker  proto : NfceeProtocols,
416*7eba2f3bSAndroid Build Coastguard Worker}
417*7eba2f3bSAndroid Build Coastguard Worker
418*7eba2f3bSAndroid Build Coastguard Workerstruct DestParam {
419*7eba2f3bSAndroid Build Coastguard Worker  ptype : DestParamTypes,
420*7eba2f3bSAndroid Build Coastguard Worker  _size_(parameter) : 8,
421*7eba2f3bSAndroid Build Coastguard Worker  parameter : 8[],
422*7eba2f3bSAndroid Build Coastguard Worker}
423*7eba2f3bSAndroid Build Coastguard Worker
424*7eba2f3bSAndroid Build Coastguard Workerpacket ConnCreateCommand : Command (op = CORE_CONN_CREATE) {
425*7eba2f3bSAndroid Build Coastguard Worker  dt : DestTypes,
426*7eba2f3bSAndroid Build Coastguard Worker  _count_(destparams) : 8,
427*7eba2f3bSAndroid Build Coastguard Worker  destparams : DestParam[],
428*7eba2f3bSAndroid Build Coastguard Worker}
429*7eba2f3bSAndroid Build Coastguard Worker
430*7eba2f3bSAndroid Build Coastguard Workerpacket ConnCreateResponse : Response (cmd_op = CORE_CONN_CREATE) {
431*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
432*7eba2f3bSAndroid Build Coastguard Worker  mpps : 8,
433*7eba2f3bSAndroid Build Coastguard Worker  ncreds : 8,
434*7eba2f3bSAndroid Build Coastguard Worker  conn_id : 8,
435*7eba2f3bSAndroid Build Coastguard Worker}
436*7eba2f3bSAndroid Build Coastguard Worker
437*7eba2f3bSAndroid Build Coastguard Workerpacket ConnCloseCommand : Command (op = CORE_CONN_CLOSE) {
438*7eba2f3bSAndroid Build Coastguard Worker  conn_id : 8,
439*7eba2f3bSAndroid Build Coastguard Worker}
440*7eba2f3bSAndroid Build Coastguard Worker
441*7eba2f3bSAndroid Build Coastguard Workerpacket ConnCloseResponse : Response (cmd_op = CORE_CONN_CLOSE) {
442*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
443*7eba2f3bSAndroid Build Coastguard Worker}
444*7eba2f3bSAndroid Build Coastguard Worker
445*7eba2f3bSAndroid Build Coastguard Workerstruct CreditsPerConn {
446*7eba2f3bSAndroid Build Coastguard Worker  conn_id : 4,
447*7eba2f3bSAndroid Build Coastguard Worker  rfu : 4,
448*7eba2f3bSAndroid Build Coastguard Worker  ncredits : 8,
449*7eba2f3bSAndroid Build Coastguard Worker}
450*7eba2f3bSAndroid Build Coastguard Worker
451*7eba2f3bSAndroid Build Coastguard Workerpacket ConnCreditsNotification : Notification (cmd_op = CORE_CONN_CREDITS) {
452*7eba2f3bSAndroid Build Coastguard Worker  _count_(conns) : 8,
453*7eba2f3bSAndroid Build Coastguard Worker  conns : CreditsPerConn[],
454*7eba2f3bSAndroid Build Coastguard Worker}
455*7eba2f3bSAndroid Build Coastguard Worker
456*7eba2f3bSAndroid Build Coastguard Workerpacket GenericError : Notification (cmd_op = CORE_GENERIC_ERROR) {
457*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
458*7eba2f3bSAndroid Build Coastguard Worker}
459*7eba2f3bSAndroid Build Coastguard Worker
460*7eba2f3bSAndroid Build Coastguard Workerpacket InterfaceError : Notification (cmd_op = CORE_INTERFACE_ERROR) {
461*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
462*7eba2f3bSAndroid Build Coastguard Worker  conn_id : 8,
463*7eba2f3bSAndroid Build Coastguard Worker}
464*7eba2f3bSAndroid Build Coastguard Worker
465*7eba2f3bSAndroid Build Coastguard Workerenum RfMode : 8 {
466*7eba2f3bSAndroid Build Coastguard Worker  POLL = 0x1,
467*7eba2f3bSAndroid Build Coastguard Worker  LISTEN = 0x2,
468*7eba2f3bSAndroid Build Coastguard Worker}
469*7eba2f3bSAndroid Build Coastguard Worker
470*7eba2f3bSAndroid Build Coastguard Workerenum RfInterfaceType : 8 {
471*7eba2f3bSAndroid Build Coastguard Worker  NFCEE_DIRECT = 0x0,
472*7eba2f3bSAndroid Build Coastguard Worker  FRAME = 0x1,
473*7eba2f3bSAndroid Build Coastguard Worker  ISO_DEP = 0x2,
474*7eba2f3bSAndroid Build Coastguard Worker  NFC_DEP = 0x3,
475*7eba2f3bSAndroid Build Coastguard Worker  NDEF = 0x6,
476*7eba2f3bSAndroid Build Coastguard Worker}
477*7eba2f3bSAndroid Build Coastguard Worker
478*7eba2f3bSAndroid Build Coastguard Workerstruct RfMappingConfiguration {
479*7eba2f3bSAndroid Build Coastguard Worker  rf_proto : RfProtocols,
480*7eba2f3bSAndroid Build Coastguard Worker  mode : RfMode,
481*7eba2f3bSAndroid Build Coastguard Worker  intf : RfInterfaceType,
482*7eba2f3bSAndroid Build Coastguard Worker}
483*7eba2f3bSAndroid Build Coastguard Worker
484*7eba2f3bSAndroid Build Coastguard Workerpacket RfDiscoverMapCommand : Command (op = RF_DISCOVER_MAP) {
485*7eba2f3bSAndroid Build Coastguard Worker  _count_(map_configs) : 8,
486*7eba2f3bSAndroid Build Coastguard Worker  map_configs : RfMappingConfiguration[],
487*7eba2f3bSAndroid Build Coastguard Worker}
488*7eba2f3bSAndroid Build Coastguard Worker
489*7eba2f3bSAndroid Build Coastguard Workerpacket RfDiscoverMapResponse : Response (cmd_op = RF_DISCOVER_MAP) {
490*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
491*7eba2f3bSAndroid Build Coastguard Worker}
492*7eba2f3bSAndroid Build Coastguard Worker
493*7eba2f3bSAndroid Build Coastguard Workerenum More : 8 {
494*7eba2f3bSAndroid Build Coastguard Worker  LAST = 0x0,
495*7eba2f3bSAndroid Build Coastguard Worker  MORE = 0x1,
496*7eba2f3bSAndroid Build Coastguard Worker}
497*7eba2f3bSAndroid Build Coastguard Worker
498*7eba2f3bSAndroid Build Coastguard Workerenum ListenModeREntryType : 4 {
499*7eba2f3bSAndroid Build Coastguard Worker  TECH = 0,
500*7eba2f3bSAndroid Build Coastguard Worker  PROTO = 1,
501*7eba2f3bSAndroid Build Coastguard Worker  AID = 2,
502*7eba2f3bSAndroid Build Coastguard Worker  SYSCODE = 3,
503*7eba2f3bSAndroid Build Coastguard Worker  PATTERN = 4,
504*7eba2f3bSAndroid Build Coastguard Worker}
505*7eba2f3bSAndroid Build Coastguard Worker
506*7eba2f3bSAndroid Build Coastguard Workerstruct QualifierType {
507*7eba2f3bSAndroid Build Coastguard Worker  lmr_type : ListenModeREntryType,
508*7eba2f3bSAndroid Build Coastguard Worker  long_ok : 1,
509*7eba2f3bSAndroid Build Coastguard Worker  short_ok : 1,
510*7eba2f3bSAndroid Build Coastguard Worker  block : 1,
511*7eba2f3bSAndroid Build Coastguard Worker  _fixed_ = 0 : 1,
512*7eba2f3bSAndroid Build Coastguard Worker}
513*7eba2f3bSAndroid Build Coastguard Worker
514*7eba2f3bSAndroid Build Coastguard Workerstruct RoutingEntry {
515*7eba2f3bSAndroid Build Coastguard Worker  qt : QualifierType,
516*7eba2f3bSAndroid Build Coastguard Worker  _size_(valr) : 8,
517*7eba2f3bSAndroid Build Coastguard Worker  valr : 8[],
518*7eba2f3bSAndroid Build Coastguard Worker}
519*7eba2f3bSAndroid Build Coastguard Worker
520*7eba2f3bSAndroid Build Coastguard Workerenum NfcEeID : 8 {
521*7eba2f3bSAndroid Build Coastguard Worker  DH = 0x0,
522*7eba2f3bSAndroid Build Coastguard Worker  HCI = 0x1,
523*7eba2f3bSAndroid Build Coastguard Worker}
524*7eba2f3bSAndroid Build Coastguard Worker
525*7eba2f3bSAndroid Build Coastguard Workerstruct PowerState {
526*7eba2f3bSAndroid Build Coastguard Worker  _fixed_ = 0x0 : 2,
527*7eba2f3bSAndroid Build Coastguard Worker  subst3 : 1,
528*7eba2f3bSAndroid Build Coastguard Worker  subst2 : 1,
529*7eba2f3bSAndroid Build Coastguard Worker  subst1 : 1,
530*7eba2f3bSAndroid Build Coastguard Worker  batt_off : 1,
531*7eba2f3bSAndroid Build Coastguard Worker  switch_off : 1,
532*7eba2f3bSAndroid Build Coastguard Worker  switch_on : 1,
533*7eba2f3bSAndroid Build Coastguard Worker}
534*7eba2f3bSAndroid Build Coastguard Worker
535*7eba2f3bSAndroid Build Coastguard Workerenum Technology : 8 {
536*7eba2f3bSAndroid Build Coastguard Worker  TECH_A = 0x0,
537*7eba2f3bSAndroid Build Coastguard Worker  TECH_B = 0x1,
538*7eba2f3bSAndroid Build Coastguard Worker  TECH_F = 0x2,
539*7eba2f3bSAndroid Build Coastguard Worker  TECH_V = 0x3,
540*7eba2f3bSAndroid Build Coastguard Worker}
541*7eba2f3bSAndroid Build Coastguard Worker
542*7eba2f3bSAndroid Build Coastguard Workerstruct TechRE {
543*7eba2f3bSAndroid Build Coastguard Worker  id : 8, // NfcEeID 0x80-0xfe dynamic HCI-EEs, 0x10-0x7f other synamic EEs
544*7eba2f3bSAndroid Build Coastguard Worker  pstate : PowerState,
545*7eba2f3bSAndroid Build Coastguard Worker  tech : Technology,
546*7eba2f3bSAndroid Build Coastguard Worker}
547*7eba2f3bSAndroid Build Coastguard Worker
548*7eba2f3bSAndroid Build Coastguard Workerstruct ProtoRE {
549*7eba2f3bSAndroid Build Coastguard Worker  id : 8,
550*7eba2f3bSAndroid Build Coastguard Worker  pstate : PowerState,
551*7eba2f3bSAndroid Build Coastguard Worker  proto : RfProtocols,
552*7eba2f3bSAndroid Build Coastguard Worker}
553*7eba2f3bSAndroid Build Coastguard Worker
554*7eba2f3bSAndroid Build Coastguard Workerstruct CommonRE {
555*7eba2f3bSAndroid Build Coastguard Worker  id : 8,
556*7eba2f3bSAndroid Build Coastguard Worker  pstate: PowerState,
557*7eba2f3bSAndroid Build Coastguard Worker  _payload_,
558*7eba2f3bSAndroid Build Coastguard Worker}
559*7eba2f3bSAndroid Build Coastguard Worker
560*7eba2f3bSAndroid Build Coastguard Workerpacket RfSetListenModeRoutingCommand : Command (op = RF_SET_LISTEN_MODE_ROUTING) {
561*7eba2f3bSAndroid Build Coastguard Worker  more : More,
562*7eba2f3bSAndroid Build Coastguard Worker  _count_(entries) : 8,
563*7eba2f3bSAndroid Build Coastguard Worker  entries : RoutingEntry[],
564*7eba2f3bSAndroid Build Coastguard Worker}
565*7eba2f3bSAndroid Build Coastguard Worker
566*7eba2f3bSAndroid Build Coastguard Workerpacket RfSetListenModeRoutingResponse : Response (cmd_op = RF_SET_LISTEN_MODE_ROUTING) {
567*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
568*7eba2f3bSAndroid Build Coastguard Worker}
569*7eba2f3bSAndroid Build Coastguard Worker
570*7eba2f3bSAndroid Build Coastguard Workerpacket RfGetListenModeRoutingCommand : Command (op = RF_GET_LISTEN_MODE_ROUTING) {
571*7eba2f3bSAndroid Build Coastguard Worker}
572*7eba2f3bSAndroid Build Coastguard Worker
573*7eba2f3bSAndroid Build Coastguard Workerpacket RfGetListenModeRoutingResponse : Response (cmd_op = RF_GET_LISTEN_MODE_ROUTING) {
574*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
575*7eba2f3bSAndroid Build Coastguard Worker}
576*7eba2f3bSAndroid Build Coastguard Worker
577*7eba2f3bSAndroid Build Coastguard Workerpacket RfGetListenModeRoutingNotification : Notification (cmd_op = RF_GET_LISTEN_MODE_ROUTING) {
578*7eba2f3bSAndroid Build Coastguard Worker  more : More,
579*7eba2f3bSAndroid Build Coastguard Worker  _count_(entries) : 8,
580*7eba2f3bSAndroid Build Coastguard Worker  entries : RoutingEntry[],
581*7eba2f3bSAndroid Build Coastguard Worker}
582*7eba2f3bSAndroid Build Coastguard Worker
583*7eba2f3bSAndroid Build Coastguard Workerenum PowerSubState : 8 {
584*7eba2f3bSAndroid Build Coastguard Worker  SWITCHED_ON = 0x0,
585*7eba2f3bSAndroid Build Coastguard Worker  SO_SUBSTATE1 = 0x1,
586*7eba2f3bSAndroid Build Coastguard Worker  SO_SUBSTATE2 = 0x2,
587*7eba2f3bSAndroid Build Coastguard Worker  SO_SUBSTATE3 = 0x3,
588*7eba2f3bSAndroid Build Coastguard Worker}
589*7eba2f3bSAndroid Build Coastguard Worker
590*7eba2f3bSAndroid Build Coastguard Workerpacket SetPowerSubStateCommand  : Command (op = CORE_SET_POWER_SUBSTATE) {
591*7eba2f3bSAndroid Build Coastguard Worker  pstate : PowerSubState,
592*7eba2f3bSAndroid Build Coastguard Worker}
593*7eba2f3bSAndroid Build Coastguard Worker
594*7eba2f3bSAndroid Build Coastguard Workerpacket SetPowerSubStateResponse  : Response (cmd_op = CORE_SET_POWER_SUBSTATE) {
595*7eba2f3bSAndroid Build Coastguard Worker  status : Status,
596*7eba2f3bSAndroid Build Coastguard Worker}
597