11.12.3.4.110. Function Se05x_API_ReadIDList

11.12.3.4.110.1. Function Documentation

smStatus_t Se05x_API_ReadIDList(pSe05xSession_t session_ctx, uint16_t outputOffset, uint8_t filter, uint8_t *pmore, uint8_t *idlist, size_t *pidlistLen)

Se05x_API_ReadIDList

Get a list of present Secure Object identifiers.

The offset in TAG_1 is an 0-based offset in the list of object. As the user does not know how many objects would be returned, the offset needs to be based on the return values from the previous ReadIDList. If the applet only returns a part of the result, it will indicate that more identifiers are available (by setting TLV[TAG_1] in the response to 0x01). The user can then retrieve the next chunk of identifiers by calling ReadIDList with an offset that equals the amount of identifiers listed in the previous response.

Example 1: first ReadIDList command TAG_1=0, response TAG_1=0, TAG_2=complete list

Example 2: first ReadIDList command TAG_1=0, response TAG_1=1, TAG_2=first chunk (m entries) second ReadIDList command TAG_1=m, response TAG_1=1, TAG_2=second chunk (n entries) thirst ReadIDList command TAG_1=(m+n), response TAG_1=0, TAG_2=third last chunk

Command to Applet

Field

Value

Description

CLA

0x80

INS

INS_READ

See SE05x_INS_t

P1

P1_DEFAULT

See SE05x_P1_t

P2

P2_LIST

See SE05x_P2_t

Lc

#(Payload)

TLV[TAG_1]

2-byte offset

TLV[TAG_2]

1-byte type filter: 1 byte from SE05x_SecObjTyp_t or 0xFF for all types.

Le

0x00

R-APDU Body

Value

Description

TLV[TAG_1]

1-byte MoreIndicatorRef

TLV[TAG_2]

Byte array containing 4-byte identifiers.

R-APDU Trailer

SW

Description

SW_NO_ERROR

Data is returned successfully.

Parameters
  • [in] session_ctx: Session Context [0:kSE05x_pSession]

  • [in] outputOffset: output offset [1:kSE05x_TAG_1]

  • [in] filter: filter [2:kSE05x_TAG_2]

  • [out] pmore: If more ids are present [0:kSE05x_TAG_1]

  • [out] idlist: Byte array containing 4-byte identifiers [1:kSE05x_TAG_2]

  • [inout] pidlistLen: Length for idlist