LinuxQMISDK-Lite  SLQS04.00.02
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
uim.h
Go to the documentation of this file.
1 
6 #ifndef __LIBPACK_UIM_H__
7 #define __LIBPACK_UIM_H__
8 
9 #include "common.h"
10 #include <stdint.h>
11 
12 #define UIM_UINT8_MAX_STRING_SZ 255
13 #define UIM_MAX_DESCRIPTION_LENGTH 255
14 #define UIM_MAX_NO_OF_SLOTS 5
15 #define UIM_MAX_NO_OF_APPLICATIONS 10
16 #define MAX_NO_OF_SLOTS 5
17 #define MAX_NO_OF_APPLICATIONS 10
18 #define MAX_DESCRIPTION_LENGTH 255
19 #define MAX_SLOTS_STATUS 255
20 #define MAX_ICCID_LENGTH 255
21 
22 
125 typedef struct
126 {
127  uint8_t appType;
128  uint8_t appState;
129  uint8_t persoState;
130  uint8_t persoFeature;
131  uint8_t persoRetries;
133  uint8_t aidLength;
134  uint8_t aidVal[UIM_MAX_DESCRIPTION_LENGTH];
135  uint8_t univPin;
136  uint8_t pin1State;
137  uint8_t pin1Retries;
138  uint8_t puk1Retries;
139  uint8_t pin2State;
140  uint8_t pin2Retries;
141  uint8_t puk2Retries;
142 } uim_appStatus;
143 
144 
196 typedef struct
197 {
198  uint8_t cardState;
199  uint8_t upinState;
200  uint8_t upinRetries;
201  uint8_t upukRetries;
202  uint8_t errorState;
203  uint8_t numApp;
205 } uim_slotInfo;
206 
207 
248 typedef struct
249 {
250  uint16_t indexGwPri;
251  uint16_t index1xPri;
252  uint16_t indexGwSec;
253  uint16_t index1xSec;
254  uint8_t numSlot;
257 
273 typedef struct
274 {
275  uint8_t hotSwapLength;
276  uint8_t hotSwap[UIM_MAX_DESCRIPTION_LENGTH];
278 
292 typedef struct{
295  uint16_t Tlvresult;
297 
312 typedef struct
313 {
314  uint8_t pin1Len;
315  uint8_t pin1Val[UIM_MAX_DESCRIPTION_LENGTH];
317 
334 typedef struct
335 {
336  uint8_t verifyLeft;
337  uint8_t unblockLeft;
339 
365 typedef struct
366 {
367  uint8_t sessionType;
368  uint8_t aidLength;
371 
391 typedef struct{
392  uint8_t pinID;
393  uint8_t pinLen;
394  uint8_t pinVal[UIM_MAX_DESCRIPTION_LENGTH];
396 
421 typedef struct{
422  uint8_t pinID;
423  uint8_t pukLen;
424  uint8_t pukVal[UIM_MAX_DESCRIPTION_LENGTH];
425  uint8_t newPINLen;
426  uint8_t newPINVal[UIM_MAX_DESCRIPTION_LENGTH];
428 
439 typedef struct
440 {
441  uint8_t sw1;
442  uint8_t sw2;
444 
469 typedef struct
470 {
471  uint8_t pinID;
472  uint8_t pinOperation;
473  uint8_t pinLength;
474  uint8_t pinValue[UIM_MAX_DESCRIPTION_LENGTH];
476 
503 typedef struct{
504  uint8_t pinID;
505  uint8_t oldPINLen;
506  uint8_t oldPINVal[UIM_MAX_DESCRIPTION_LENGTH];
507  uint8_t pinLen;
508  uint8_t pinVal[UIM_MAX_DESCRIPTION_LENGTH];
510 
526 typedef struct {
527  uint16_t fileID;
528  uint8_t pathLen;
529  uint16_t path[UIM_UINT8_MAX_STRING_SZ];
530 } uim_fileInfo;
531 
532 
558 typedef struct
559 {
560  uint8_t sessionType;
561  uint8_t aidLength;
562  uint8_t aid[255];
564 
576 typedef struct
577 {
578  uint16_t offset;
579  uint16_t length;
581 
582 
593 typedef struct
594 {
595  uint16_t contentLen;
596  uint8_t content[UIM_UINT8_MAX_STRING_SZ];
598 
599 
612  pack_qmi_t *pCtx,
613  uint8_t *pReqBuf,
614  uint16_t *pLen,
615  void *reqArg
616 );
617 
629  uint8_t *pResp,
630  uint16_t respLen,
632 );
633 
666 typedef struct{
668  uint32_t *pIndicationToken;
669  uint8_t *pKeyReferenceID;
672  uint16_t Tlvresult;
674 
694 typedef struct{
697  uint32_t *pIndicationToken;
698  uint16_t Tlvresult;
700 
701 
714  pack_qmi_t *pCtx,
715  uint8_t *pReqBuf,
716  uint16_t *pLen,
717  pack_uim_VerifyPin_t *reqArg
718 );
719 
731  uint8_t *pResp,
732  uint16_t respLen,
733  unpack_uim_VerifyPin_t *pOutput
734 );
735 
766 typedef struct{
768  uint32_t *pIndicationToken;
769  uint8_t *pKeyReferenceID;
772  uint16_t Tlvresult;
774 
792 typedef struct{
795  uint32_t *pIndicationToken;
796  uint16_t Tlvresult;
798 
799 
812  pack_qmi_t *pCtx,
813  uint8_t *pReqBuf,
814  uint16_t *pLen,
815  pack_uim_UnblockPin_t *reqArg
816 );
817 
829  uint8_t *pResp,
830  uint16_t respLen,
831  unpack_uim_UnblockPin_t *pOutput
832 );
833 
863 typedef struct{
865  uint32_t *pIndicationToken;
866  uint8_t *pKeyReferenceID;
869  uint16_t Tlvresult;
871 
891 typedef struct{
894  uint32_t *pIndicationToken;
895  uint16_t Tlvresult;
897 
898 
911  pack_qmi_t *pCtx,
912  uint8_t *pReqBuf,
913  uint16_t *pLen,
915 );
916 
928  uint8_t *pResp,
929  uint16_t respLen,
931 );
932 
962 typedef struct{
964  uint32_t *pIndicationToken;
965  uint8_t *pKeyReferenceID;
968  uint16_t Tlvresult;
970 
990 typedef struct{
993  uint32_t *pIndicationToken;
994  uint16_t Tlvresult;
996 
997 
1009 int pack_uim_ChangePin(
1010  pack_qmi_t *pCtx,
1011  uint8_t *pReqBuf,
1012  uint16_t *pLen,
1013  pack_uim_ChangePin_t *reqArg
1014 );
1015 
1027  uint8_t *pResp,
1028  uint16_t respLen,
1029  unpack_uim_ChangePin_t *pOutput
1030 );
1031 
1032 
1062 typedef struct{
1066  uint32_t *pIndicationToken;
1067  uint8_t *pEncryptData;
1068  uint16_t Tlvresult;
1070 
1093 typedef struct{
1096  uint32_t *pIndicationToken;
1097  uint8_t *pEncryptedData;
1098  uint16_t Tlvresult;
1100 
1101 
1114  pack_qmi_t *pCtx,
1115  uint8_t *pReqBuf,
1116  uint16_t *pLen,
1118 );
1119 
1131  uint8_t *pResp,
1132  uint16_t respLen,
1134 );
1135 
1140 typedef struct{
1141  uint32_t eventMask;
1143 
1156  pack_qmi_t *pCtx,
1157  uint8_t *pReqBuf,
1158  uint16_t *pLen,
1160 );
1161 
1167 typedef struct{
1168  uint32_t eventMask;
1170 
1182  uint8_t *pResp,
1183  uint16_t respLen,
1185 );
1186 
1289 typedef struct
1290 {
1291  uint8_t appType;
1292  uint8_t appState;
1293  uint8_t persoState;
1294  uint8_t persoFeature;
1295  uint8_t persoRetries;
1297  uint8_t aidLength;
1298  uint8_t aidVal[MAX_DESCRIPTION_LENGTH];
1299  uint8_t univPin;
1300  uint8_t pin1State;
1301  uint8_t pin1Retries;
1302  uint8_t puk1Retries;
1303  uint8_t pin2State;
1304  uint8_t pin2Retries;
1305  uint8_t puk2Retries;
1306 } appStats;
1307 
1359 typedef struct
1360 {
1361  uint8_t cardState;
1362  uint8_t upinState;
1363  uint8_t upinRetries;
1364  uint8_t upukRetries;
1365  uint8_t errorState;
1366  uint8_t numApp;
1368 } slotInf;
1376 typedef struct{
1379 
1392  uint8_t *pResp,
1393  uint16_t respLen,
1395 );
1396 
1407  pack_qmi_t *pCtx,
1408  uint8_t *pReqBuf,
1409  uint16_t *pLen
1410 );
1411 
1442 typedef struct
1443 {
1444  uint32_t uPhyCardStatus;
1445  uint32_t uPhySlotStatus;
1446  uint8_t bLogicalSlot;
1447  uint8_t bICCIDLength;
1448  uint8_t bICCID[MAX_ICCID_LENGTH];
1449 }slot_t;
1450 
1451 typedef struct
1452 {
1453  slot_t uimSlotStatus[MAX_SLOTS_STATUS];
1454 }slots_t;
1455 
1466 typedef struct{
1470 
1482  uint8_t *pResp,
1483  uint16_t respLen,
1485 );
1486 
1507 typedef struct{
1508  uint8_t bLogicalSlot;
1509  uint32_t ulPhysicalSlot;
1511 
1524  pack_qmi_t *pCtx,
1525  uint8_t *pReqBuf,
1526  uint16_t *pLen,
1528 );
1529 
1540  uint8_t *pResp,
1541  uint16_t respLen
1542 );
1543 
1553 typedef struct{
1557 
1570  uint8_t *pResp,
1571  uint16_t respLen,
1573 );
1574 
1590 typedef struct{
1591  uint8_t slot;
1594 
1607  pack_qmi_t *pCtx,
1608  uint8_t *pReqBuf,
1609  uint16_t *pLen,
1611 );
1612 
1623  uint8_t *pResp,
1624  uint16_t respLen
1625 );
1626 
1637 typedef struct{
1638  uint8_t slot;
1640 
1653  pack_qmi_t *pCtx,
1654  uint8_t *pReqBuf,
1655  uint16_t *pLen,
1657 );
1658 
1669  uint8_t *pResp,
1670  uint16_t respLen
1671 );
1672 
1673 
1674 #endif
1675 
uint8_t pathLen
Definition: uim.h:528
Definition: uim.h:962
uint8_t pin2Retries
Definition: uim.h:1304
uint8_t pinID
Definition: uim.h:392
Definition: uim.h:1637
Definition: uim.h:792
Definition: uim.h:526
uint8_t * pEncryptedData
Definition: uim.h:1097
uim_changeUIMPIN changePIN
Definition: uim.h:967
Definition: uim.h:273
Definition: uim.h:666
uint8_t hotSwapLength
Definition: uim.h:275
uint8_t numApp
Definition: uim.h:203
uint8_t upukRetries
Definition: uim.h:201
uim_remainingRetries * pRemainingRetries
Definition: uim.h:793
Definition: uim.h:125
#define UIM_MAX_NO_OF_APPLICATIONS
Definition: uim.h:15
uint8_t pin2State
Definition: uim.h:139
Definition: uim.h:694
Definition: uim.h:421
slots_t slotsstatusChange
Definition: uim.h:1554
uint16_t offset
Definition: uim.h:578
Definition: uim.h:196
uint8_t upinRetries
Definition: uim.h:200
uint8_t puk2Retries
Definition: uim.h:1305
uint8_t pinID
Definition: uim.h:504
uint16_t indexGwSec
Definition: uim.h:252
uint8_t errorState
Definition: uim.h:1365
#define MAX_DESCRIPTION_LENGTH
Definition: uim.h:18
uint8_t bICCIDLength
Definition: uim.h:1447
uim_encryptedPIN1 EncryptedPIN1
Definition: uim.h:864
Definition: uim.h:1451
uint8_t persoUnblockRetries
Definition: uim.h:132
#define UIM_MAX_DESCRIPTION_LENGTH
Definition: uim.h:13
uint16_t index1xPri
Definition: uim.h:251
uint8_t pinID
Definition: uim.h:471
uint8_t appType
Definition: uim.h:1291
int unpack_uim_GetCardStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_GetCardStatus_t *pOutput)
uint32_t eventMask
Definition: uim.h:1141
uim_encryptedPIN1 * pEncryptedPIN1
Definition: uim.h:992
uint32_t * pIndicationToken
Definition: uim.h:697
Definition: uim.h:503
uint32_t * pIndicationToken
Definition: uim.h:668
uint8_t pinLen
Definition: uim.h:393
uint8_t puk1Retries
Definition: uim.h:1302
uint8_t numSlot
Definition: uim.h:254
uint8_t persoState
Definition: uim.h:129
uint8_t pin1Retries
Definition: uim.h:1301
int pack_uim_VerifyPin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_VerifyPin_t *reqArg)
uint8_t pin2State
Definition: uim.h:1303
uint16_t index1xSec
Definition: uim.h:253
uim_sessionInformation sessionInfo
Definition: uim.h:670
slots_t * pUimSlotsStatus
Definition: uim.h:1468
uint16_t Tlvresult
Definition: uim.h:968
uint8_t pukLen
Definition: uim.h:423
uint8_t unblockLeft
Definition: uim.h:337
Definition: uim.h:248
uint16_t fileID
Definition: uim.h:527
uint8_t upinState
Definition: uim.h:1362
uim_hotSwapStatus * pHotSwapStatus
Definition: uim.h:294
int unpack_uim_SLQSUIMSwitchSlot(uint8_t *pResp, uint16_t respLen)
uint8_t univPin
Definition: uim.h:135
uint8_t errorState
Definition: uim.h:202
uim_encryptedPIN1 * pEncryptedPIN1
Definition: uim.h:893
int pack_uim_SLQSUIMSwitchSlot(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMSwitchSlot_t *reqArg)
uint16_t Tlvresult
Definition: uim.h:994
uint8_t * pNumberOfPhySlot
Definition: uim.h:1467
uint16_t contentLen
Definition: uim.h:595
uim_cardResult * pCardResult
Definition: uim.h:1094
uint16_t indexGwPri
Definition: uim.h:250
uim_encryptedPIN1 * pEncryptedPIN1
Definition: uim.h:794
#define UIM_MAX_NO_OF_SLOTS
Definition: uim.h:14
uint16_t Tlvresult
Definition: uim.h:698
Definition: uim.h:1167
Definition: uim.h:558
uint8_t persoState
Definition: uim.h:1293
uint8_t * pKeyReferenceID
Definition: uim.h:866
uint8_t slot
Definition: uim.h:1638
int unpack_uim_SLQSUIMPowerDown(uint8_t *pResp, uint16_t respLen)
uint8_t slot
Definition: uim.h:1591
uint8_t pinLength
Definition: uim.h:473
uint8_t pin1State
Definition: uim.h:136
int unpack_uim_ReadTransparent(uint8_t *pResp, uint16_t respLen, unpack_uim_ReadTransparent_t *pOutput)
uim_remainingRetries * pRemainingRetries
Definition: uim.h:892
int unpack_uim_UnblockPin(uint8_t *pResp, uint16_t respLen, unpack_uim_UnblockPin_t *pOutput)
int unpack_uim_SLQSUIMGetSlotsStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetSlotsStatus_t *pOutput)
uint32_t ulPhysicalSlot
Definition: uim.h:1509
uim_fileInfo fileIndex
Definition: uim.h:1064
Definition: uim.h:1062
Definition: uim.h:1359
uint8_t numApp
Definition: uim.h:1366
uim_sessionInformation sessionInfo
Definition: uim.h:867
int unpack_uim_SLQSUIMSetStatusChangeCallBack_ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMSetStatusChangeCallBack_ind_t *pOutput)
uint8_t univPin
Definition: uim.h:1299
uint8_t upinRetries
Definition: uim.h:1363
int pack_uim_ChangePin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_ChangePin_t *reqArg)
uint16_t Tlvresult
Definition: uim.h:772
int unpack_uim_SLQSUIMPowerUp(uint8_t *pResp, uint16_t respLen)
Definition: uim.h:365
uint8_t appType
Definition: uim.h:127
Definition: uim.h:766
int unpack_uim_VerifyPin(uint8_t *pResp, uint16_t respLen, unpack_uim_VerifyPin_t *pOutput)
uim_sessionInformation sessionInfo
Definition: uim.h:966
uim_encryptedPIN1 * pEncryptedPIN1
Definition: uim.h:696
uim_cardStatus * pCardStatus
Definition: uim.h:293
uint8_t persoFeature
Definition: uim.h:1294
uint8_t aidLength
Definition: uim.h:1297
Definition: uim.h:576
uint16_t Tlvresult
Definition: uim.h:672
int pack_uim_SLQSUIMEventRegister(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMEventRegister_t *reqArg)
uint8_t pin1State
Definition: uim.h:1300
uint32_t * pIndicationToken
Definition: uim.h:1066
uim_encryptedPIN1 EncryptedPIN1
Definition: uim.h:963
uint8_t pinLen
Definition: uim.h:507
uint16_t Tlvresult
Definition: uim.h:869
uint8_t persoRetries
Definition: uim.h:1295
uint8_t aidLength
Definition: uim.h:561
uim_encryptedPIN1 EncryptedPIN1
Definition: uim.h:767
uint8_t persoRetries
Definition: uim.h:131
Definition: uim.h:391
Definition: uim.h:863
uim_unblockUIMPIN pinProtection
Definition: uim.h:771
int pack_uim_SLQSUIMPowerDown(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMPowerDown_t *reqArg)
#define MAX_SLOTS_STATUS
Definition: uim.h:19
uim_readResult * pReadResult
Definition: uim.h:1095
uint32_t * pIndicationToken
Definition: uim.h:993
uint8_t pinOperation
Definition: uim.h:472
uint8_t * pKeyReferenceID
Definition: uim.h:769
int pack_uim_SLQSUIMGetSlotsStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen)
uim_readTransparentInfo readTransparent
Definition: uim.h:1065
uint8_t * pKeyReferenceID
Definition: uim.h:669
uint16_t Tlvresult
Definition: uim.h:1098
int pack_uim_ReadTransparent(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_ReadTransparent_t *reqArg)
uint8_t pin1Len
Definition: uim.h:314
uint16_t Tlvresult
Definition: uim.h:796
uint8_t aidLength
Definition: uim.h:133
uim_remainingRetries * pRemainingRetries
Definition: uim.h:695
uint8_t upukRetries
Definition: uim.h:1364
uint8_t persoUnblockRetries
Definition: uim.h:1296
int pack_uim_GetCardStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, void *reqArg)
int unpack_uim_SLQSUIMEventRegister(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMEventRegister_t *pOutput)
uint8_t bNumberOfPhySlots
Definition: uim.h:1555
Definition: uim.h:292
Definition: uim.h:990
uint8_t puk2Retries
Definition: uim.h:141
uint8_t puk1Retries
Definition: uim.h:138
int pack_uim_SetPinProtection(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SetPinProtection_t *reqArg)
Definition: uim.h:1140
uint32_t uPhyCardStatus
Definition: uim.h:1444
uint8_t * pEncryptData
Definition: uim.h:1067
uint8_t appState
Definition: uim.h:1292
uim_encryptedPIN1 * pEncryptedPIN1
Definition: uim.h:667
Definition: uim.h:1093
uint32_t * pIndicationToken
Definition: uim.h:894
uint8_t aidLength
Definition: uim.h:368
uint8_t sw2
Definition: uim.h:442
int pack_uim_SLQSUIMPowerUp(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMPowerUp_t *reqArg)
uint16_t Tlvresult
Definition: uim.h:1068
Definition: uim.h:1507
uim_cardStatus * pCardStatus
Definition: uim.h:1377
uint8_t oldPINLen
Definition: uim.h:505
uint8_t upinState
Definition: uim.h:199
int pack_uim_UnblockPin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_UnblockPin_t *reqArg)
uint32_t * pIndicationToken
Definition: uim.h:795
uim_sessionInformation sessionInfo
Definition: uim.h:1063
uint8_t verifyLeft
Definition: uim.h:336
uint8_t cardState
Definition: uim.h:1361
uint16_t length
Definition: uim.h:579
uint8_t newPINLen
Definition: uim.h:425
uim_remainingRetries * pRemainingRetries
Definition: uim.h:991
Definition: uim.h:1289
#define UIM_UINT8_MAX_STRING_SZ
Definition: uim.h:12
Definition: uim.h:1590
uint8_t cardState
Definition: uim.h:198
uint8_t pin1Retries
Definition: uim.h:137
Definition: uim.h:439
int unpack_uim_ChangePin(uint8_t *pResp, uint16_t respLen, unpack_uim_ChangePin_t *pOutput)
uint32_t eventMask
Definition: uim.h:1168
uint8_t persoFeature
Definition: uim.h:130
uint8_t * pKeyReferenceID
Definition: uim.h:965
uim_sessionInformation sessionInfo
Definition: uim.h:770
Definition: uim.h:891
uint8_t pinID
Definition: uim.h:422
Definition: common.h:90
uint32_t uPhySlotStatus
Definition: uim.h:1445
Definition: uim.h:312
uim_verifyUIMPIN verifyPIN
Definition: uim.h:671
uint8_t bLogicalSlot
Definition: uim.h:1446
uint8_t sessionType
Definition: uim.h:560
uint32_t * pIndicationToken
Definition: uim.h:964
uint32_t * pIndicationToken
Definition: uim.h:1096
int unpack_uim_SetUimSlotStatusChangeCallback_ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SetUimSlotStatusChangeCallback_ind_t *pOutput)
#define MAX_NO_OF_APPLICATIONS
Definition: uim.h:17
uint8_t pin2Retries
Definition: uim.h:140
int unpack_uim_SetPinProtection(uint8_t *pResp, uint16_t respLen, unpack_uim_SetPinProtection_t *pOutput)
uint32_t * pIndicationToken
Definition: uim.h:768
uint8_t * pIgnoreHotSwapSwitch
Definition: uim.h:1592
Definition: uim.h:593
uint32_t * pIndicationToken
Definition: uim.h:865
uim_setPINProtection pinProtection
Definition: uim.h:868
uint8_t bLogicalSlot
Definition: uim.h:1508
Definition: uim.h:334
uint16_t Tlvresult
Definition: uim.h:295
uint8_t sessionType
Definition: uim.h:367
uint8_t appState
Definition: uim.h:128
Definition: uim.h:469
Definition: uim.h:1442
uint16_t Tlvresult
Definition: uim.h:895
#define MAX_ICCID_LENGTH
Definition: uim.h:20
uint8_t sw1
Definition: uim.h:441

Copyright (c) 2011-2015 Sierra Wireless, Inc. All rights reserved