LinuxQMISDK: qaGobiApiUim.h File Reference

LinuxQMISDK SLQS03.03.07

- Main Page
- Modules
- References
- Data Structures

- File List
- Globals

Data Structures | Macros | Functions
qaGobiApiUim.h File Reference
User Identity Module Service (UIM)

Uim Service API function prototypes. More...

Go to the source code of this file.

## Data Structures
struct | UIMPowerDownReq
struct | fileInfo
struct | UIMRefreshEvent
struct | appStatus
struct | slotInfo
struct | cardStatus
struct | hotSwapStatus
struct | UIMGetCardStatusResp
struct | UIMSessionInformation
struct | setPINProtection
struct | UIMSetPinProtectionReq
struct | remainingRetries
struct | encryptedPIN1
struct | UIMPinResp
struct | verifyUIMPIN
struct | UIMVerifyPinReq
struct | changeUIMPIN
struct | UIMChangePinReq
struct | unblockUIMPIN
struct | UIMUnblockPinReq
struct | UIMEventRegisterReqResp
struct | UIMRefreshOKReq
struct | registerRefresh
struct | UIMRefreshRegisterReq
struct | UIMRefreshCompleteReq
struct | UIMRefreshGetLastEventResp
struct | UIMRefreshGetLastEventReq
struct | UIMGetFileAttributesReq
struct | cardResult
struct | fileAttributes
struct | UIMGetFileAttributesResp
struct | depersonalizationInformation
struct | UIMDepersonalizationReq
struct | UIMDepersonalizationResp
struct | authenticationData
struct | UIMAuthenticateReq
struct | authenticateResult
struct | UIMAuthenticateResp

## Macros
#define | MAX_DESCRIPTION_LENGTH 255
#define | MAX_CONTENT_LENGTH 1024
#define | MAX_NO_OF_APPLICATIONS 10
#define | MAX_NO_OF_SLOTS 5
#define | MAX_PUK_LENGTH 8
#define | MAX_PATH_LENGTH 255

## Functions
ULONG | SLQSUIMReset ()
ULONG | SLQSUIMPowerDown (UIMPowerDownReq *pUIMPowerDownReq)
ULONG | SLQSUIMGetCardStatus (UIMGetCardStatusResp *pUIMGetCardStatusResp)
ULONG | SLQSUIMSetPinProtection (UIMSetPinProtectionReq *pUIMSetPinProtectionReq, UIMPinResp *pUIMSetPinProtectionResp)
ULONG | SLQSUIMVerifyPin (UIMVerifyPinReq *pUIMVerifyPinReq, UIMPinResp *pUIMVerifyPinResp)
ULONG | SLQSUIMChangePin (UIMChangePinReq *pUIMChangePinReq, UIMPinResp *pUIMChangePinResp)
ULONG | SLQSUIMUnblockPin (UIMUnblockPinReq *pUIMUnblockPinReq, UIMPinResp *pUIMUnblockPinResp)
ULONG | SLQSUIMEventRegister (UIMEventRegisterReqResp *pUIMEventRegisterReqResp)
ULONG | SLQSUIMRefreshOK (UIMRefreshOKReq *pUIMRefreshOKReq)
ULONG | SLQSUIMRefreshRegister (UIMRefreshRegisterReq *pUIMRefreshRegisterReq)
ULONG | SLQSUIMRefreshComplete (UIMRefreshCompleteReq *pUIMRefreshCompleteReq)
ULONG | SLQSUIMRefreshGetLastEvent (UIMRefreshGetLastEventReq *pUIMRefreshGetLastEventReq, UIMRefreshGetLastEventResp *pUIMRefreshGetLastEventResp)
ULONG | SLQSUIMGetFileAttributes (UIMGetFileAttributesReq *pUIMGetFileAttributesReq, UIMGetFileAttributesResp *pUIMGetFileAttributesResp)
ULONG | SLQSUIMDepersonalization (UIMDepersonalizationReq *pUIMDepersonilizationReq, UIMDepersonalizationResp *pUIMDepersonilizationResp)
ULONG | SLQSUIMAuthenticate (UIMAuthenticateReq *pUIMAuthenticateReq, UIMAuthenticateResp *pUIMAuthenticateResp)

## Detailed Description

Uim Service API function prototypes.

Copyright: © 2012 Sierra Wireless, Inc. all rights reserved

## Macro Definition Documentation

#define MAX_CONTENT_LENGTH 1024

#define MAX_DESCRIPTION_LENGTH 255

#define MAX_NO_OF_APPLICATIONS 10

#define MAX_NO_OF_SLOTS 5

#define MAX_PATH_LENGTH 255

#define MAX_PUK_LENGTH 8

## Function Documentation

ULONG SLQSUIMAuthenticate | ( | UIMAuthenticateReq * | pUIMAuthenticateReq,
|  | UIMAuthenticateResp * | pUIMAuthenticateResp
| ) |  |

This API executes the authentication algorithm on the card.

Parameters

  pUIMAuthenticateReq[IN] | See UIMAuthenticateReq for more information.
  pUIMAuthenticateResp[OUT] | See UIMAuthenticateResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API executes a security command on the card that depends on
          the card type.
          The response contains the status code received from the card
          (SW1 and SW2) when the card responded to the read request.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMAuthenticateCallback

ULONG SLQSUIMChangePin | ( | UIMChangePinReq * | pUIMChangePinReq,
|  | UIMPinResp * | pUIMChangePinResp
| ) |  |

This API changes the value of the specified PIN.

Parameters

  pUIMChangePinReq[IN] | See UIMChangePinReq for more information.
  pUIMChangePinResp[OUT] | See UIMPinResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API changes the value of the specified PIN.
          The application must pass both the new and the old values of the
          PIN to complete the operation
          The same PIN can be used by multiple sessions (i.e., the PIN is
          shared between GSM and RUIM in an ICC card).
          The PIN is automatically set for all the sessions when the API
          is executed.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMChangePinCallback.

ULONG SLQSUIMDepersonalization | ( | UIMDepersonalizationReq * | pUIMDepersonilizationReq,
|  | UIMDepersonalizationResp * | pUIMDepersonilizationResp
| ) |  |

This API de-activates or unblocks the personalization on the phone.

Parameters

  pUIMDepersonilizationReq[IN] | See UIMDepersonalizationReq for more information.
  pUIMDepersonilizationResp[OUT] | See UIMDepersonalizationResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API deactivates or unblocks the personalization on the phone.
          Each feature can be deactivated/unblocked independently of the
          other features.

ULONG SLQSUIMEventRegister | ( | UIMEventRegisterReqResp * | pUIMEventRegisterReqResp | ) |

This API Registers for event notifications from the card.

Parameters

  pUIMEventRegisterReqResp[IN/OUT] | See UIMEventRegisterReqResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function registers for event notifications from the card.
          The client must verify the mask in the response to determine
          which events were registered successfully. Events not supported
          correctly are not registered. The client can deregister from
          all event notifications by passing "0x00000000" bitmask in the
          request.

ULONG SLQSUIMGetCardStatus | ( | UIMGetCardStatusResp * | pUIMGetCardStatusResp | ) |

This API retrieves the current status of the card.

Parameters

  pUIMGetCardStatusResp[OUT] | See UIMGetCardStatusResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function retrieves the current status of the card and the
          status of all applications available on the card.
          The function also returns support information for the hot-swap
          feature and the status of the switch used to detect a card
          removal/insertion.

ULONG SLQSUIMGetFileAttributes | ( | UIMGetFileAttributesReq * | pUIMGetFileAttributesReq,
|  | UIMGetFileAttributesResp * | pUIMGetFileAttributesResp
| ) |  |

This API retrieves the file attributes for any Elementary File(EF) or Dedicated File(DF) in the card and provides access by the path.

Parameters

  pUIMGetFileAttributesReq[IN] | See UIMGetFileAttributesReq for more information.
  pUIMGetFileAttributesResp[OUT] | See UIMGetFileAttributesResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API retrieves the file attributes for any Elementary File(EF)
          or Dedicated File(DF) in the card and provides access by the path.
          The response contains the status code received from the card
          (SW1 and SW2) when the card responded to the select request.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMGetFileAttributesCallback.

ULONG SLQSUIMPowerDown | ( | UIMPowerDownReq * | pUIMPowerDownReq | ) |

This API power downs the SIM card.

Parameters

  pUIMPowerDownReq[IN] | See UIMPowerDownReq for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function powers down the card.
          This is usually performed when the phone is switched off or when
          it is set to Airplane mode.

ULONG SLQSUIMRefreshComplete | ( | UIMRefreshCompleteReq * | pUIMRefreshCompleteReq | ) |

This API invoked when the client has finished the Refresh procedure.

Parameters

  pUIMRefreshCompleteReq[IN] | See UIMRefreshCompleteReq for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function is invoked when the client has finished the Refresh
          procedure (has reread all the cached files) and communicates this
          to the modem. This function enables the terminal response to be
          sent to the card

ULONG SLQSUIMRefreshGetLastEvent | ( | UIMRefreshGetLastEventReq * | pUIMRefreshGetLastEventReq,
|  | UIMRefreshGetLastEventResp * | pUIMRefreshGetLastEventResp
| ) |  |

This API provides the ability to retrieve the last refresh event.

Parameters

  pUIMRefreshGetLastEventReq[IN] | See UIMRefreshGetLastEventReq for more information.
  pUIMRefreshGetLastEventResp[OUT] | See UIMRefreshGetLastEventResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function provides the ability to retrieve the last refresh
          event. The event information is usually passed in as an indication
          from the QMI to the application and is saved by the application at
          that time. If the event information is not saved, the client can
          retrieve the last refresh event.
          Details regarding the Refresh procedure (i.e., the stages and
          actions that an application must complete) are described in
          document: 80-VM566-1(NAA Refresh High Level Guide )

ULONG SLQSUIMRefreshOK | ( | UIMRefreshOKReq * | pUIMRefreshOKReq | ) |

This API Enables the client to indicate whether it is OK to start the Refresh procedure.

Parameters

  pUIMRefreshOKReq | Consist of parameters for SLQSUIMRefreshOK. Please see /ref UIMRefreshOKReq for details.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function enables the client to indicate whether it is OK to
          start the Refresh procedure. This command is used only after a
          refresh event is received, which indicates the need to vote.

ULONG SLQSUIMRefreshRegister | ( | UIMRefreshRegisterReq * | pUIMRefreshRegisterReq | ) |

This API Registers for file change notifications triggered by the card.

Parameters

  pUIMRefreshRegisterReq[IN] | See UIMRefreshRegisterReq for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This function registers for file change notifications triggered
          by the card. The client can specify a list of files. The client
          is notified only when one of the files is modified by the Refresh
          procedure. This function can be invoked multiple times for each
          session type. If the function is invoked twice with the same session
          type, the new values overwrite the previous values. The client can
          also use this function to stop receiving indications of the refresh.
          This API should be invoked prior to the invocation of the
          SLQSUIMSetRefreshCallBack for the events to be registered.

ULONG SLQSUIMReset | ( |  | ) |

This API resets the issuing control points state kept by the service.

Parameters

  None |

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          The list of events to which the client is registered is emptied.
          The client must register again using the SLQSUIMEventReg API
          to start receiving the events again. This would mean that the
          callback registrations would be reset after this API.

ULONG SLQSUIMSetPinProtection | ( | UIMSetPinProtectionReq * | pUIMSetPinProtectionReq,
|  | UIMPinResp * | pUIMSetPinProtectionResp
| ) |  |

This API enables or disables the protection of the UIM contents by a specific PIN.

Parameters

  pUIMSetPinProtectionReq[IN] | See UIMSetPinProtectionReq for more information.
  pUIMSetPinProtectionResp[OUT] | See UIMPinResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API enables or disables the protection of UIM contents by a
          specific PIN.
          The same PIN can be used by multiple sessions (i.e., the PIN is
          shared between GSM and RUIM in an ICC card).
          The PIN is automatically set for all the sessions when the API
          is executed.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMSetPinProtectionCallback indication.

ULONG SLQSUIMUnblockPin | ( | UIMUnblockPinReq * | pUIMUnblockPinReq,
|  | UIMPinResp * | pUIMUnblockPinResp
| ) |  |

This API unblocks a blocked PIN using the PUK code.

Parameters

  pUIMUnblockPinReq[IN] | See UIMUnblockPinReq for more information.
  pUIMUnblockPinResp[OUT] | See UIMPinResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API unblocks a blocked PIN using the PUK code.
          The client must pass PUK1 to unblock PIN1 or PUK2 to unblock PIN2.
          The same PIN can be used by multiple sessions (i.e., the PIN is
          shared between GSM and RUIM in an ICC card).
          The PIN is automatically set for all the sessions when the API
          is executed.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMUnblockPinCallback.

ULONG SLQSUIMVerifyPin | ( | UIMVerifyPinReq * | pUIMVerifyPinReq,
|  | UIMPinResp * | pUIMVerifyPinResp
| ) |  |

This API verifies the PIN before the card content is accessed.

Parameters

  pUIMVerifyPinReq[IN] | See UIMVerifyPinReq for more information.
  pUIMVerifyPinResp[OUT] | See UIMPinResp for more information.

Returns
  eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise

See Also
  See qmerrno.h for eQCWWAN_xxx error values

Note
  Timeout: 30 Secs

          This API verifies the PIN before the card content is accessed.
          The same PIN can be used by multiple sessions (i.e., the PIN is
          shared between GSM and RUIM in an ICC card).
          The PIN is automatically set for all the sessions when the API
          is executed.
          The client can pass a token in the request to receive the result
          in a subsequent SLQSUIMVerifyPinCallback.