Lines Matching defs:NdefSmtCrdFmt
112 static NFCSTATUS phFriNfc_MfUL_H_Transceive(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
118 static NFCSTATUS phFriNfc_MfUL_H_WrRd(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
124 static void phFriNfc_MfUL_H_fillSendBuf(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
131 static NFCSTATUS phFriNfc_MfUL_H_ProRd16Bytes(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
137 static NFCSTATUS phFriNfc_MfUL_H_ProWrOTPBytes(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
146 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
153 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
158 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
163 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
170 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
175 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
180 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt);
208 void phFriNfc_MfUL_Reset(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
212 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock = PH_FRINFC_MFUL_FMT_VAL_0;
213 (void)memcpy(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
215 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes));
217 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[0] = 0;
218 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[1] = 0;
219 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[2] = 0;
220 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[3] = 0;
224 NFCSTATUS phFriNfc_MfUL_Format(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
229 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock = PH_FRINFC_MFUL_FMT_VAL_0;
230 (void)memcpy(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
232 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes));
235 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RD_16BYTES;
237 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock = PH_FRINFC_MFUL_FMT_VAL_2;
240 Result = phFriNfc_MfUL_H_WrRd(NdefSmtCrdFmt);
248 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
252 NdefSmtCrdFmt->AddInfo.Type2Info.DefaultLockBytesFlag = TRUE;
253 NdefSmtCrdFmt->AddInfo.Type2Info.ReadDataIndex = 0;
255 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_RD_16BYTES;
257 result = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
267 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt = (phFriNfc_sNdefSmtCrdFmt_t *)Context;
271 switch(NdefSmtCrdFmt->State)
274 Status = phFriNfc_MfUL_H_ProRd16Bytes(NdefSmtCrdFmt);
278 Status = phFriNfc_MfUL_H_ProWrOTPBytes(NdefSmtCrdFmt);
283 if (NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_ULC_CARD)
286 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
289 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_WR_TLV1;
291 Status = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
301 if (MIFARE_UL_READ_MAX_SIZE == *NdefSmtCrdFmt->SendRecvLength)
306 otp_lock_page_size = sizeof (NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes);
307 (void)memcpy ((void *)NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes,
308 (void *)NdefSmtCrdFmt->SendRecvBuf,
309 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes));
311 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[2] = (uint8_t)
312 (NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[2]
314 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes[3] = MIFARE_UL_LOCK_BYTE2_VALUE;
317 otp_lock_page_size = sizeof (NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes);
319 (void)memcpy ((void *)NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
320 (void *)(NdefSmtCrdFmt->SendRecvBuf + i),
321 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes));
323 NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes[(otp_lock_page_size - 1)] =
326 switch (NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes[TYPE_2_MEM_SIZE_POSITION])
330 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_WR_OTP_BYTES;
331 Status = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
338 NdefSmtCrdFmt->State =
342 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock = 4;
343 Status = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
366 switch (NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes[TYPE_2_MEM_SIZE_POSITION])
373 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_WR_LOCK_BYTES;
374 Status = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
392 if (MIFARE_UL_READ_MAX_SIZE == *NdefSmtCrdFmt->SendRecvLength)
394 Status = phFriNfc_MfUL_ParseTLVs (NdefSmtCrdFmt,
395 NdefSmtCrdFmt->SendRecvBuf,
396 (uint8_t)*NdefSmtCrdFmt->SendRecvLength);
400 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
401 NdefSmtCrdFmt->AddInfo.Type2Info.LockBlockNumber;
402 Status = phFriNfc_MfUL_ReadWriteLockBytes (NdefSmtCrdFmt);
415 if (MIFARE_UL_READ_MAX_SIZE == *NdefSmtCrdFmt->SendRecvLength)
417 (void)memcpy ((void *)NdefSmtCrdFmt->AddInfo.Type2Info.ReadData,
418 (void *)NdefSmtCrdFmt->SendRecvBuf,
419 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.ReadData));
421 NdefSmtCrdFmt->AddInfo.Type2Info.ReadDataIndex = 0;
423 Status = phFriNfc_MfUL_UpdateAndWriteLockBits (NdefSmtCrdFmt);
436 NdefSmtCrdFmt->AddInfo.Type2Info.ReadDataIndex = (uint8_t)
437 (NdefSmtCrdFmt->AddInfo.Type2Info.ReadDataIndex +
440 if (!phFriNfc_MfUL_CalcRemainingLockBits (NdefSmtCrdFmt))
443 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_WR_OTP_BYTES;
444 Status = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
446 else if ((NdefSmtCrdFmt->AddInfo.Type2Info.ReadDataIndex <
448 && (phFriNfc_MfUL_CalcRemainingLockBits (NdefSmtCrdFmt)))
451 Status = phFriNfc_MfUL_UpdateAndWriteLockBits (NdefSmtCrdFmt);
457 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock = (uint8_t)
458 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock + 4);
459 Status = phFriNfc_MfUL_ReadWriteLockBytes (NdefSmtCrdFmt);
489 phFriNfc_SmtCrdFmt_HCrHandler(NdefSmtCrdFmt, Status);
500 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
506 &NdefSmtCrdFmt->AddInfo.Type2Info;
527 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
531 &(NdefSmtCrdFmt->AddInfo.Type2Info);
596 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
600 &(NdefSmtCrdFmt->AddInfo.Type2Info);
611 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
615 &(NdefSmtCrdFmt->AddInfo.Type2Info);
629 remaining_lock_bits = phFriNfc_MfUL_CalcRemainingLockBits (NdefSmtCrdFmt);
725 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_WR_DYN_LOCK_BYTES;
726 result = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
734 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
738 &(NdefSmtCrdFmt->AddInfo.Type2Info);
746 && (phFriNfc_MfUL_CalcRemainingLockBits (NdefSmtCrdFmt)
761 (phFriNfc_MfUL_CalcRemainingLockBits (NdefSmtCrdFmt)
776 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_WR_DYN_LOCK_BYTES;
777 result = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
781 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_RD_DYN_LOCK_BYTES;
782 result = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
791 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
795 &(NdefSmtCrdFmt->AddInfo.Type2Info);
818 phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
834 (NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes[TYPE_2_MEM_SIZE_POSITION] * 8);
845 skip_lock_mem_size = phFriNfc_MfUL_GetSkipSize (NdefSmtCrdFmt,
846 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock,
894 NdefSmtCrdFmt->AddInfo.Type2Info.DefaultLockBytesFlag =
896 result = phFriNfc_MfUL_GetDefaultLockBytesInfo (NdefSmtCrdFmt);
934 NdefSmtCrdFmt->AddInfo.Type2Info.DefaultLockBytesFlag =
936 NdefSmtCrdFmt->AddInfo.Type2Info.DynLockBytes[lock_mem_ndef_index] =
944 NdefSmtCrdFmt->AddInfo.Type2Info.DynLockBytes[lock_mem_ndef_index] =
948 result = phFriNfc_MfUL_GetLockBytesInfo (NdefSmtCrdFmt);
1067 if ((NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes[TYPE_2_MEM_SIZE_POSITION]
1094 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_RO_NDEF_PARSE_RD_BYTES;
1095 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
1096 (NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock + 4);
1098 result = phFriNfc_MfUL_H_WrRd (NdefSmtCrdFmt);
1114 static NFCSTATUS phFriNfc_MfUL_H_WrRd( phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt )
1119 phFriNfc_MfUL_H_fillSendBuf(NdefSmtCrdFmt,
1120 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock);
1123 Result = phFriNfc_MfUL_H_Transceive (NdefSmtCrdFmt);
1128 static NFCSTATUS phFriNfc_MfUL_H_Transceive(phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt)
1133 NdefSmtCrdFmt->psDepAdditionalInfo.DepFlags.MetaChaining = 0;
1134 NdefSmtCrdFmt->psDepAdditionalInfo.DepFlags.NADPresent = 0;
1135 NdefSmtCrdFmt->psDepAdditionalInfo.NAD = 0;
1138 NdefSmtCrdFmt->SmtCrdFmtCompletionInfo.CompletionRoutine = phFriNfc_NdefSmtCrd_Process;
1139 NdefSmtCrdFmt->SmtCrdFmtCompletionInfo.Context = NdefSmtCrdFmt;
1141 *NdefSmtCrdFmt->SendRecvLength = PH_FRINFC_SMTCRDFMT_MAX_SEND_RECV_BUF_SIZE;
1144 Result = phFriNfc_OvrHal_Transceive( NdefSmtCrdFmt->LowerDevice,
1145 &NdefSmtCrdFmt->SmtCrdFmtCompletionInfo,
1146 NdefSmtCrdFmt->psRemoteDevInfo,
1147 NdefSmtCrdFmt->Cmd,
1148 &NdefSmtCrdFmt->psDepAdditionalInfo,
1149 NdefSmtCrdFmt->SendRecvBuf,
1150 NdefSmtCrdFmt->SendLength,
1151 NdefSmtCrdFmt->SendRecvBuf,
1152 NdefSmtCrdFmt->SendRecvLength);
1156 static void phFriNfc_MfUL_H_fillSendBuf( phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt,
1169 NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_0] = (uint8_t)BlockNo;
1170 switch(NdefSmtCrdFmt->State)
1177 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareRead;
1180 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareRead;
1182 *NdefSmtCrdFmt->SendRecvBuf = RD_LOCK_OTP_BLOCK_NUMBER;
1184 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_1;
1193 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareRead;
1196 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareRead;
1198 *NdefSmtCrdFmt->SendRecvBuf =
1199 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock;
1201 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_1;
1208 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareRead;
1211 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareRead;
1213 *NdefSmtCrdFmt->SendRecvBuf = NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock;
1215 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_1;
1222 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1225 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareWrite4;
1229 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1230 *NdefSmtCrdFmt->SendRecvBuf = NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock;
1231 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1232 NdefSmtCrdFmt->AddInfo.Type2Info.DynLockBytes,
1242 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1245 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareWrite4;
1249 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1250 *NdefSmtCrdFmt->SendRecvBuf = RD_LOCK_OTP_BLOCK_NUMBER;
1251 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1252 NdefSmtCrdFmt->AddInfo.Type2Info.LockBytes,
1260 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1263 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareWrite4;
1267 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1268 *NdefSmtCrdFmt->SendRecvBuf = OTP_BLOCK_NUMBER;
1269 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1270 NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
1279 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareRead;
1282 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareRead;
1285 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_1;
1290 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1293 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1295 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareWrite4;
1298 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1299 NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
1308 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1311 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1313 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareCmdListMifareWrite4;
1318 if (NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_ULC_CARD)
1320 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1324 else if (NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_UL_CARD)
1326 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1334 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1344 if (NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_ULC_CARD)
1347 NdefSmtCrdFmt->SendLength = PH_FRINFC_MFUL_FMT_VAL_5;
1349 NdefSmtCrdFmt->Cmd.MfCmd = phHal_eMifareWrite4;
1350 (void)memcpy(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_1],
1363 static NFCSTATUS phFriNfc_MfUL_H_ProRd16Bytes( phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt )
1376 if ((NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_2] ==
1378 (NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_3] ==
1384 if (NdefSmtCrdFmt->SendRecvBuf[8] == 0x02 &&
1385 NdefSmtCrdFmt->SendRecvBuf[9] == 0x00)
1387 NdefSmtCrdFmt->CardType = PH_FRINFC_NDEFMAP_MIFARE_ULC_CARD;
1389 (void)memcpy(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
1391 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes));
1393 else if (NdefSmtCrdFmt->SendRecvBuf[8] == 0xFF &&
1394 NdefSmtCrdFmt->SendRecvBuf[9] == 0xFF)
1396 NdefSmtCrdFmt->CardType = PH_FRINFC_NDEFMAP_MIFARE_UL_CARD;
1398 (void)memcpy(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
1400 sizeof(NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes));
1404 NdefSmtCrdFmt->CardType = PH_FRINFC_NDEFMAP_MIFARE_UL_CARD;
1410 MemCompare1(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_4],
1411 NdefSmtCrdFmt->AddInfo.Type2Info.OTPBytes,
1417 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
1420 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_WR_TLV;
1425 memcompare = (uint32_t)MemCompare1(&NdefSmtCrdFmt->SendRecvBuf[PH_FRINFC_MFUL_FMT_VAL_4],
1432 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
1435 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_WR_OTPBYTES;
1444 ((NdefSmtCrdFmt->State == PH_FRINFC_MFUL_FMT_WR_TLV) ||
1445 (NdefSmtCrdFmt->State == PH_FRINFC_MFUL_FMT_WR_OTPBYTES)) &&
1446 ((NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_ULC_CARD) ||
1447 (NdefSmtCrdFmt->CardType == PH_FRINFC_NDEFMAP_MIFARE_UL_CARD))
1450 if((NdefSmtCrdFmt->State == PH_FRINFC_MFUL_FMT_WR_TLV) ||
1451 (NdefSmtCrdFmt->State == PH_FRINFC_MFUL_FMT_WR_OTPBYTES))
1454 Result = phFriNfc_MfUL_H_WrRd(NdefSmtCrdFmt);
1459 static NFCSTATUS phFriNfc_MfUL_H_ProWrOTPBytes( phFriNfc_sNdefSmtCrdFmt_t *NdefSmtCrdFmt )
1463 NdefSmtCrdFmt->State = PH_FRINFC_MFUL_FMT_WR_TLV;
1466 NdefSmtCrdFmt->AddInfo.Type2Info.CurrentBlock =
1469 Result = phFriNfc_MfUL_H_WrRd(NdefSmtCrdFmt);