1/****************************************************************************** 2 * 3 * Copyright (C) 2010-2013 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 20/****************************************************************************** 21 * 22 * NFA reader/writer API functions 23 * 24 ******************************************************************************/ 25#ifndef NFA_RW_API_H 26#define NFA_RW_API_H 27 28#include "nfc_target.h" 29#include "nfa_api.h" 30 31/***************************************************************************** 32** Constants and data types 33*****************************************************************************/ 34 35/***************************************************************************** 36** NFA T3T Constants and definitions 37*****************************************************************************/ 38 39/* Block descriptor. (For non-NDEF read/write */ 40typedef struct 41{ 42 UINT16 service_code; /* Service code for the block */ 43 UINT16 block_number; /* Block number. */ 44} tNFA_T3T_BLOCK_DESC; 45 46 47 48/***************************************************************************** 49** External Function Declarations 50*****************************************************************************/ 51#ifdef __cplusplus 52extern "C" 53{ 54#endif 55 56/******************************************************************************* 57** 58** Function NFA_RwDetectNDef 59** 60** Description Perform the NDEF detection procedure using the appropriate 61** method for the currently activated tag. 62** 63** Upon successful completion of NDEF detection, a 64** NFA_NDEF_DETECT_EVT will be sent, to notify the application 65** of the NDEF attributes (NDEF total memory size, current 66** size, etc.). 67** 68** It is not mandatory to call this function - NFA_RwReadNDef 69** and NFA_RwWriteNDef will perform NDEF detection internally if 70** not performed already. This API may be called to get a 71** tag's NDEF size before issuing a write-request. 72** 73** Returns: 74** NFA_STATUS_OK if successfully initiated 75** NFC_STATUS_REFUSED if tag does not support NDEF 76** NFA_STATUS_FAILED otherwise 77** 78*******************************************************************************/ 79NFC_API extern tNFA_STATUS NFA_RwDetectNDef (void); 80 81/******************************************************************************* 82** 83** Function NFA_RwReadNDef 84** 85** Description Read NDEF message from tag. This function will internally 86** perform the NDEF detection procedure (if not performed 87** previously), and read the NDEF tag data using the 88** appropriate method for the currently activated tag. 89** 90** Upon successful completion of NDEF detection (if performed), 91** a NFA_NDEF_DETECT_EVT will be sent, to notify the application 92** of the NDEF attributes (NDEF total memory size, current size, 93** etc.). 94** 95** Upon receiving the NDEF message, the message will be sent to 96** the handler registered with NFA_RegisterNDefTypeHandler or 97** NFA_RequestExclusiveRfControl (if exclusive RF mode is active) 98** 99** 100** Returns: 101** NFA_STATUS_OK if successfully initiated 102** NFC_STATUS_REFUSED if tag does not support NDEF 103** NFC_STATUS_NOT_INITIALIZED if NULL NDEF was detected on the tag 104** NFA_STATUS_FAILED otherwise 105** 106*******************************************************************************/ 107NFC_API extern tNFA_STATUS NFA_RwReadNDef (void); 108 109/******************************************************************************* 110** 111** Function NFA_RwWriteNDef 112** 113** Description Write NDEF data to the activated tag. This function will 114** internally perform NDEF detection if necessary, and write 115** the NDEF tag data using the appropriate method for the 116** currently activated tag. 117** 118** When the entire message has been written, or if an error 119** occurs, the app will be notified with NFA_RW_WRITE_CPLT_EVT. 120** 121** p_data needs to be persistent until NFA_RW_WRITE_CPLT_EVT 122** 123** 124** Returns: 125** NFA_STATUS_OK if successfully initiated 126** NFC_STATUS_REFUSED if tag does not support NDEF/locked 127** NFA_STATUS_FAILED otherwise 128** 129*******************************************************************************/ 130NFC_API extern tNFA_STATUS NFA_RwWriteNDef (UINT8 *p_data, UINT32 len); 131 132 133/***************************************************************************** 134** 135** Function NFA_RwPresenceCheck 136** 137** Description Check if the tag is still in the field. 138** 139** The NFA_RW_PRESENCE_CHECK_EVT w/ status is used to 140** indicate presence or non-presence. 141** 142** Returns 143** NFA_STATUS_OK if successfully initiated 144** NFA_STATUS_FAILED otherwise 145** 146*****************************************************************************/ 147NFC_API extern tNFA_STATUS NFA_RwPresenceCheck (void); 148 149/***************************************************************************** 150** 151** Function NFA_RwFormatTag 152** 153** Description Check if the tag is NDEF Formatable. If yes Format the 154** tag 155** 156** The NFA_RW_FORMAT_CPLT_EVT w/ status is used to 157** indicate if tag is formated or not. 158** 159** Returns 160** NFA_STATUS_OK if successfully initiated 161** NFA_STATUS_FAILED otherwise 162** 163*****************************************************************************/ 164NFC_API extern tNFA_STATUS NFA_RwFormatTag (void); 165 166/******************************************************************************* 167** LEGACY / PROPRIETARY TAG READ AND WRITE APIs 168*******************************************************************************/ 169 170 171/******************************************************************************* 172** 173** Function NFA_RwLocateTlv 174** 175** Description: 176** Search for the Lock/Memory contril TLV on the activated Type1/Type2 tag 177** 178** Data is returned to the application using the NFA_TLV_DETECT_EVT. When 179** search operation has completed, or if an error occurs, the app will be 180** notified with NFA_TLV_DETECT_EVT. 181** 182** Description Perform the TLV detection procedure using the appropriate 183** method for the currently activated tag. 184** 185** Upon successful completion of TLV detection in T1/T2 tag, a 186** NFA_TLV_DETECT_EVT will be sent, to notify the application 187** of the TLV attributes (total lock/reserved bytes etc.). 188** However if the TLV type specified is NDEF then it is same as 189** calling NFA_RwDetectNDef and should expect to receive 190** NFA_NDEF_DETECT_EVT instead of NFA_TLV_DETECT_EVT 191** 192** It is not mandatory to call this function - NFA_RwDetectNDef, 193** NFA_RwReadNDef and NFA_RwWriteNDef will perform TLV detection 194** internally if not performed already. An application may call 195** this API to check the a tag/card-emulator's total Reserved/ 196** Lock bytes before issuing a write-request. 197** 198** Returns: 199** NFA_STATUS_OK if successfully initiated 200** NFC_STATUS_REFUSED if tlv_type is NDEF & tag won't support NDEF 201** NFA_STATUS_FAILED otherwise 202** 203*******************************************************************************/ 204NFC_API extern tNFA_STATUS NFA_RwLocateTlv (UINT8 tlv_type); 205 206/******************************************************************************* 207** 208** Function NFA_RwSetTagReadOnly 209** 210** Description: 211** Sets tag as read only. 212** 213** When tag is set as read only, or if an error occurs, the app will be 214** notified with NFA_SET_TAG_RO_EVT. 215** 216** Returns: 217** NFA_STATUS_OK if successfully initiated 218** NFA_STATUS_REJECTED if protocol is not T1/T2/ISO15693 219** (or) if hard lock is not requested for protocol ISO15693 220** NFA_STATUS_FAILED otherwise 221** 222*******************************************************************************/ 223NFC_API extern tNFA_STATUS NFA_RwSetTagReadOnly (BOOLEAN b_hard_lock); 224 225/******************************************************************************* 226** 227** Function NFA_RwT1tRid 228** 229** Description: 230** Send a RID command to the activated Type 1 tag. 231** 232** Data is returned to the application using the NFA_DATA_EVT. When the read 233** operation has completed, or if an error occurs, the app will be notified with 234** NFA_READ_CPLT_EVT. 235** 236** Returns: 237** NFA_STATUS_OK if successfully initiated 238** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 239** NFA_STATUS_FAILED otherwise 240** 241*******************************************************************************/ 242NFC_API extern tNFA_STATUS NFA_RwT1tRid (void); 243 244/******************************************************************************* 245** 246** Function NFA_RwT1tReadAll 247** 248** Description: 249** Send a RALL command to the activated Type 1 tag. 250** 251** Data is returned to the application using the NFA_DATA_EVT. When the read 252** operation has completed, or if an error occurs, the app will be notified with 253** NFA_READ_CPLT_EVT. 254** 255** Returns: 256** NFA_STATUS_OK if successfully initiated 257** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 258** NFA_STATUS_FAILED otherwise 259** 260*******************************************************************************/ 261NFC_API extern tNFA_STATUS NFA_RwT1tReadAll (void); 262 263/******************************************************************************* 264** 265** Function NFA_RwT1tRead 266** 267** Description: 268** Send a READ command to the activated Type 1 tag. 269** 270** Data is returned to the application using the NFA_DATA_EVT. When the read 271** operation has completed, or if an error occurs, the app will be notified with 272** NFA_READ_CPLT_EVT. 273** 274** Returns: 275** NFA_STATUS_OK if successfully initiated 276** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 277** NFA_STATUS_FAILED otherwise 278** 279*******************************************************************************/ 280NFC_API extern tNFA_STATUS NFA_RwT1tRead (UINT8 block_number, UINT8 index); 281 282/******************************************************************************* 283** 284** Function NFA_RwT1tWrite 285** 286** Description: 287** Send a WRITE command to the activated Type 1 tag. 288** 289** Data is returned to the application using the NFA_DATA_EVT. When the write 290** operation has completed, or if an error occurs, the app will be notified with 291** NFA_WRITE_CPLT_EVT. 292** 293** Returns: 294** NFA_STATUS_OK if successfully initiated 295** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 296** NFA_STATUS_FAILED otherwise 297** 298*******************************************************************************/ 299NFC_API extern tNFA_STATUS NFA_RwT1tWrite (UINT8 block_number, 300 UINT8 index, 301 UINT8 data, 302 BOOLEAN b_erase); 303 304/******************************************************************************* 305** 306** Function NFA_RwT1tReadSeg 307** 308** Description: 309** Send a RSEG command to the activated Type 1 tag. 310** 311** Data is returned to the application using the NFA_DATA_EVT. When the read 312** operation has completed, or if an error occurs, the app will be notified with 313** NFA_READ_CPLT_EVT. 314** 315** Returns: 316** NFA_STATUS_OK if successfully initiated 317** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 318** NFA_STATUS_FAILED otherwise 319** 320*******************************************************************************/ 321NFC_API extern tNFA_STATUS NFA_RwT1tReadSeg (UINT8 segment_number); 322 323/******************************************************************************* 324** 325** Function NFA_RwT1tRead8 326** 327** Description: 328** Send a READ8 command to the activated Type 1 tag. 329** 330** Data is returned to the application using the NFA_DATA_EVT. When the read 331** operation has completed, or if an error occurs, the app will be notified with 332** NFA_READ_CPLT_EVT. 333** 334** Returns: 335** NFA_STATUS_OK if successfully initiated 336** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 337** NFA_STATUS_FAILED otherwise 338** 339*******************************************************************************/ 340NFC_API extern tNFA_STATUS NFA_RwT1tRead8 (UINT8 block_number); 341 342/******************************************************************************* 343** 344** Function NFA_RwT1tWrite8 345** 346** Description: 347** Send a WRITE8_E / WRITE8_NE command to the activated Type 1 tag. 348** 349** Data is returned to the application using the NFA_DATA_EVT. When the read 350** operation has completed, or if an error occurs, the app will be notified with 351** NFA_READ_CPLT_EVT. 352** 353** Returns: 354** NFA_STATUS_OK if successfully initiated 355** NFA_STATUS_NOT_INITIALIZED: type 1 tag not activated 356** NFA_STATUS_FAILED otherwise 357** 358*******************************************************************************/ 359NFC_API extern tNFA_STATUS NFA_RwT1tWrite8 (UINT8 block_number, 360 UINT8 *p_data, 361 BOOLEAN b_erase); 362 363/******************************************************************************* 364** 365** Function NFA_RwT2tRead 366** 367** Description: 368** Send a READ command to the activated Type 2 tag. 369** 370** Data is returned to the application using the NFA_DATA_EVT. When the read 371** operation has completed, or if an error occurs, the app will be notified with 372** NFA_READ_CPLT_EVT. 373** 374** Returns: 375** NFA_STATUS_OK if successfully initiated 376** NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated 377** NFA_STATUS_FAILED otherwise 378** 379*******************************************************************************/ 380NFC_API extern tNFA_STATUS NFA_RwT2tRead (UINT8 block_number); 381 382/******************************************************************************* 383** 384** Function NFA_RwT2tWrite 385** 386** Description: 387** Send an WRITE command to the activated Type 2 tag. 388** 389** When the write operation has completed (or if an error occurs), the 390** app will be notified with NFA_WRITE_CPLT_EVT. 391** 392** Returns: 393** NFA_STATUS_OK if successfully initiated 394** NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated 395** NFA_STATUS_FAILED otherwise 396** 397*******************************************************************************/ 398NFC_API extern tNFA_STATUS NFA_RwT2tWrite (UINT8 block_number, UINT8 *p_data); 399 400/******************************************************************************* 401** 402** Function NFA_RwT2tSectorSelect 403** 404** Description: 405** Send SECTOR SELECT command to the activated Type 2 tag. 406** 407** When the sector select operation has completed (or if an error occurs), the 408** app will be notified with NFA_SECTOR_SELECT_CPLT_EVT. 409** 410** Returns: 411** NFA_STATUS_OK if successfully initiated 412** NFA_STATUS_NOT_INITIALIZED: type 2 tag not activated 413** NFA_STATUS_FAILED otherwise 414** 415*******************************************************************************/ 416NFC_API extern tNFA_STATUS NFA_RwT2tSectorSelect (UINT8 sector_number); 417 418/******************************************************************************* 419** 420** Function NFA_RwT3tRead 421** 422** Description: 423** Send a CHECK (read) command to the activated Type 3 tag. 424** 425** Data is returned to the application using the NFA_RW_DATA_EVT. When the read 426** operation has completed, or if an error occurs, the app will be notified with 427** NFA_READ_CPLT_EVT. 428** 429** Returns: 430** NFA_STATUS_OK if successfully initiated 431** NFA_STATUS_NOT_INITIALIZED: type 3 tag not activated 432** NFA_STATUS_FAILED otherwise 433** 434*******************************************************************************/ 435NFC_API extern tNFA_STATUS NFA_RwT3tRead (UINT8 num_blocks, 436 tNFA_T3T_BLOCK_DESC *t3t_blocks); 437 438/******************************************************************************* 439** 440** Function NFA_RwT3tWrite 441** 442** Description: 443** Send an UPDATE (write) command to the activated Type 3 tag. 444** 445** When the write operation has completed (or if an error occurs), the 446** app will be notified with NFA_WRITE_CPLT_EVT. 447** 448** Returns: 449** NFA_STATUS_OK if successfully initiated 450** NFA_STATUS_NOT_INITIALIZED: type 3 tag not activated 451** NFA_STATUS_FAILED otherwise 452** 453*******************************************************************************/ 454NFC_API extern tNFA_STATUS NFA_RwT3tWrite (UINT8 num_blocks, 455 tNFA_T3T_BLOCK_DESC *t3t_blocks, 456 UINT8 *p_data); 457 458/******************************************************************************* 459** 460** Function NFA_RwI93Inventory 461** 462** Description: 463** Send Inventory command to the activated ISO 15693 tag with/without AFI.. 464** If UID is provided then set UID[0]:MSB, ... UID[7]:LSB 465** 466** When the write operation has completed (or if an error occurs), the 467** app will be notified with NFA_I93_CMD_CPLT_EVT. 468** 469** Returns: 470** NFA_STATUS_OK if successfully initiated 471** NFA_STATUS_NOT_INITIALIZED: ISO 15693 tag not activated 472** NFA_STATUS_FAILED otherwise 473** 474*******************************************************************************/ 475NFC_API extern tNFA_STATUS NFA_RwI93Inventory (BOOLEAN afi_present, UINT8 afi, UINT8 *p_uid); 476 477/******************************************************************************* 478** 479** Function NFA_RwI93StayQuiet 480** 481** Description: 482** Send Stay Quiet command to the activated ISO 15693 tag. 483** 484** When the operation has completed (or if an error occurs), the 485** app will be notified with NFA_I93_CMD_CPLT_EVT. 486** 487** Returns: 488** NFA_STATUS_OK if successfully initiated 489** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 490** NFA_STATUS_FAILED otherwise 491** 492*******************************************************************************/ 493NFC_API extern tNFA_STATUS NFA_RwI93StayQuiet (void); 494 495/******************************************************************************* 496** 497** Function NFA_RwI93ReadSingleBlock 498** 499** Description: 500** Send Read Single Block command to the activated ISO 15693 tag. 501** 502** Data is returned to the application using the NFA_DATA_EVT. When the read 503** operation has completed, or if an error occurs, the app will be notified with 504** NFA_I93_CMD_CPLT_EVT. 505** 506** Returns: 507** NFA_STATUS_OK if successfully initiated 508** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 509** NFA_STATUS_FAILED otherwise 510** 511*******************************************************************************/ 512NFC_API extern tNFA_STATUS NFA_RwI93ReadSingleBlock (UINT8 block_number); 513 514/******************************************************************************* 515** 516** Function NFA_RwI93WriteSingleBlock 517** 518** Description: 519** Send Write Single Block command to the activated ISO 15693 tag. 520** 521** When the write operation has completed (or if an error occurs), the 522** app will be notified with NFA_I93_CMD_CPLT_EVT. 523** 524** Returns: 525** NFA_STATUS_OK if successfully initiated 526** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 527** NFA_STATUS_FAILED otherwise 528** 529*******************************************************************************/ 530NFC_API extern tNFA_STATUS NFA_RwI93WriteSingleBlock (UINT8 block_number, 531 UINT8 *p_data); 532 533/******************************************************************************* 534** 535** Function NFA_RwI93LockBlock 536** 537** Description: 538** Send Lock block command to the activated ISO 15693 tag. 539** 540** When the operation has completed (or if an error occurs), the 541** app will be notified with NFA_I93_CMD_CPLT_EVT. 542** 543** Returns: 544** NFA_STATUS_OK if successfully initiated 545** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 546** NFA_STATUS_FAILED otherwise 547** 548*******************************************************************************/ 549NFC_API extern tNFA_STATUS NFA_RwI93LockBlock (UINT8 block_number); 550 551/******************************************************************************* 552** 553** Function NFA_RwI93ReadMultipleBlocks 554** 555** Description: 556** Send Read Multiple Block command to the activated ISO 15693 tag. 557** 558** Data is returned to the application using the NFA_DATA_EVT. When the read 559** operation has completed, or if an error occurs, the app will be notified with 560** NFA_I93_CMD_CPLT_EVT. 561** 562** Returns: 563** NFA_STATUS_OK if successfully initiated 564** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 565** NFA_STATUS_FAILED otherwise 566** 567*******************************************************************************/ 568NFC_API extern tNFA_STATUS NFA_RwI93ReadMultipleBlocks (UINT8 first_block_number, 569 UINT16 number_blocks); 570 571/******************************************************************************* 572** 573** Function NFA_RwI93WriteMultipleBlocks 574** 575** Description: 576** Send Write Multiple Block command to the activated ISO 15693 tag. 577** 578** When the write operation has completed (or if an error occurs), the 579** app will be notified with NFA_I93_CMD_CPLT_EVT. 580** 581** Returns: 582** NFA_STATUS_OK if successfully initiated 583** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 584** NFA_STATUS_FAILED otherwise 585** 586*******************************************************************************/ 587NFC_API extern tNFA_STATUS NFA_RwI93WriteMultipleBlocks (UINT8 first_block_number, 588 UINT16 number_blocks, 589 UINT8 *p_data); 590 591/******************************************************************************* 592** 593** Function NFA_RwI93Select 594** 595** Description: 596** Send Select command to the activated ISO 15693 tag. 597** 598** UID[0]: 0xE0, MSB 599** UID[1]: IC Mfg Code 600** ... 601** UID[7]: LSB 602** 603** When the operation has completed (or if an error occurs), the 604** app will be notified with NFA_I93_CMD_CPLT_EVT. 605** 606** Returns: 607** NFA_STATUS_OK if successfully initiated 608** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 609** NFA_STATUS_FAILED otherwise 610** 611*******************************************************************************/ 612NFC_API extern tNFA_STATUS NFA_RwI93Select (UINT8 *p_uid); 613 614/******************************************************************************* 615** 616** Function NFA_RwI93ResetToReady 617** 618** Description: 619** Send Reset to ready command to the activated ISO 15693 tag. 620** 621** When the operation has completed (or if an error occurs), the 622** app will be notified with NFA_I93_CMD_CPLT_EVT. 623** 624** Returns: 625** NFA_STATUS_OK if successfully initiated 626** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 627** NFA_STATUS_FAILED otherwise 628** 629*******************************************************************************/ 630NFC_API extern tNFA_STATUS NFA_RwI93ResetToReady (void); 631 632/******************************************************************************* 633** 634** Function NFA_RwI93WriteAFI 635** 636** Description: 637** Send Write AFI command to the activated ISO 15693 tag. 638** 639** When the operation has completed (or if an error occurs), the 640** app will be notified with NFA_I93_CMD_CPLT_EVT. 641** 642** Returns: 643** NFA_STATUS_OK if successfully initiated 644** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 645** NFA_STATUS_FAILED otherwise 646** 647*******************************************************************************/ 648NFC_API extern tNFA_STATUS NFA_RwI93WriteAFI (UINT8 afi); 649 650/******************************************************************************* 651** 652** Function NFA_RwI93LockAFI 653** 654** Description: 655** Send Lock AFI command to the activated ISO 15693 tag. 656** 657** When the operation has completed (or if an error occurs), the 658** app will be notified with NFA_I93_CMD_CPLT_EVT. 659** 660** Returns: 661** NFA_STATUS_OK if successfully initiated 662** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 663** NFA_STATUS_FAILED otherwise 664** 665*******************************************************************************/ 666NFC_API extern tNFA_STATUS NFA_RwI93LockAFI (void); 667 668/******************************************************************************* 669** 670** Function NFA_RwI93WriteDSFID 671** 672** Description: 673** Send Write DSFID command to the activated ISO 15693 tag. 674** 675** When the operation has completed (or if an error occurs), the 676** app will be notified with NFA_I93_CMD_CPLT_EVT. 677** 678** Returns: 679** NFA_STATUS_OK if successfully initiated 680** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 681** NFA_STATUS_FAILED otherwise 682** 683*******************************************************************************/ 684NFC_API extern tNFA_STATUS NFA_RwI93WriteDSFID (UINT8 dsfid); 685 686/******************************************************************************* 687** 688** Function NFA_RwI93LockDSFID 689** 690** Description: 691** Send Lock DSFID command to the activated ISO 15693 tag. 692** 693** When the operation has completed (or if an error occurs), the 694** app will be notified with NFA_I93_CMD_CPLT_EVT. 695** 696** Returns: 697** NFA_STATUS_OK if successfully initiated 698** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 699** NFA_STATUS_FAILED otherwise 700** 701*******************************************************************************/ 702NFC_API extern tNFA_STATUS NFA_RwI93LockDSFID (void); 703 704/******************************************************************************* 705** 706** Function NFA_RwI93GetSysInfo 707** 708** Description: 709** Send Get system information command to the activated ISO 15693 tag. 710** If UID is provided then set UID[0]:MSB, ... UID[7]:LSB 711** 712** When the operation has completed (or if an error occurs), the 713** app will be notified with NFA_I93_CMD_CPLT_EVT. 714** 715** Returns: 716** NFA_STATUS_OK if successfully initiated 717** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 718** NFA_STATUS_FAILED otherwise 719** 720*******************************************************************************/ 721NFC_API extern tNFA_STATUS NFA_RwI93GetSysInfo (UINT8 *p_uid); 722 723/******************************************************************************* 724** 725** Function NFA_RwI93GetMultiBlockSecurityStatus 726** 727** Description: 728** Send Get Multiple block security status command to the activated ISO 15693 tag. 729** 730** Data is returned to the application using the NFA_DATA_EVT. When the read 731** operation has completed, or if an error occurs, the app will be notified with 732** NFA_I93_CMD_CPLT_EVT. 733** 734** Returns: 735** NFA_STATUS_OK if successfully initiated 736** NFA_STATUS_WRONG_PROTOCOL: ISO 15693 tag not activated 737** NFA_STATUS_FAILED otherwise 738** 739*******************************************************************************/ 740NFC_API extern tNFA_STATUS NFA_RwI93GetMultiBlockSecurityStatus (UINT8 first_block_number, 741 UINT16 number_blocks); 742 743#ifdef __cplusplus 744} 745#endif 746 747#endif /* NFA_RW_API_H */ 748