5.2.3.3 Capability Container
The Capability Container is stored inside of a file that has a file identifier of 0xE103. The format for the Capability Container is specified in the NFC Forum Type 4 Tag Operation Specification 3.0. See Figure 21 for an example of a properly formatted CC.
- CC Length – This 2 byte value is determined by the number of different files contained within the tag. The formula to calculate the CC Length is: [7 + (number of files × 8)].
- Mapping Version – This value tells the reader the mapping specification used by the tag.
- MLe – These 2 bytes indicate the maximum number of bytes that can be read from the tag by a single Read Binary command.
- MLc – These 2 bytes indicate the maximum number of bytes that can be written to the tag by a single Write Binary command.
- File Control TLV – The TLV blocks provide the reader with information about the tag data.
- Tag Field (T) – This field contains the file type information of the TLV block. The following values may be used:
- 0x04 – NDEF File
- 0x05 – Proprietary File
- 0x06 – Extended NDEF file
- Length Field (L) – This field contains the length of the value field of the TLV block
- Value Field (V) – This field contains the file ID, the maximum file size, and the read/write access conditions of the file.
- File ID – Each file within the tag should have its own unique file ID number.
- Max File Size – This value is not the size of the data itself, but the size of the maximum possible data that can be stored within the file.
- Read Access (R) – Determines the read access properties of the file. A value of 0x00 means that the file has full read access. All other values are for limited read access.
- Write Access (W) – Determines the write access properties of the file. The value 0x00 allows for full write privileges. The value 0xFF disables all write privileges and makes the file read-only. All other values are for limited write access.
There must be a File Control TLV for each different file contained within the tag. Therefore, if there are three different files, there must be three TLVs that correspond to the settings of each file.