Linux SDK (lite-qmi)  MBPL_SDK_R25_ENG3
uim.h
Go to the documentation of this file.
1 
6 #ifndef __LITEQMI_UIM_H__
7 #define __LITEQMI_UIM_H__
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #include "common.h"
14 #include <stdint.h>
15 
16 #define UIM_UINT8_MAX_STRING_SZ 255
17 #define UIM_MAX_DESCRIPTION_LENGTH 255
18 #define UIM_MAX_NO_OF_SLOTS 5
19 #define UIM_MAX_NO_OF_APPLICATIONS 10
20 #define MAX_NO_OF_SLOTS 5
21 #define MAX_NO_OF_APPLICATIONS 10
22 #define MAX_DESCRIPTION_LENGTH 255
23 #define MAX_SLOTS_STATUS 255
24 #define MAX_ICCID_LENGTH 255
25 #define UIM_MAX_CONTENT_LENGTH 1024
26 #define UIM_MAX_ACTIVE_PERS_FEATURES 12
27 #define UIM_MAX_READ_RESULT_SZ 1600
28 
29 
134 typedef struct
135 {
136  uint8_t appType;
137  uint8_t appState;
138  uint8_t persoState;
139  uint8_t persoFeature;
140  uint8_t persoRetries;
141  uint8_t persoUnblockRetries;
142  uint8_t aidLength;
143  uint8_t aidVal[UIM_MAX_DESCRIPTION_LENGTH];
144  uint8_t univPin;
145  uint8_t pin1State;
146  uint8_t pin1Retries;
147  uint8_t puk1Retries;
148  uint8_t pin2State;
149  uint8_t pin2Retries;
150  uint8_t puk2Retries;
151 } uim_appStatus;
152 
153 
207 typedef struct
208 {
209  uint8_t cardState;
210  uint8_t upinState;
211  uint8_t upinRetries;
212  uint8_t upukRetries;
213  uint8_t errorState;
214  uint8_t numApp;
215  uim_appStatus AppStatus[UIM_MAX_NO_OF_APPLICATIONS];
216 } uim_slotInfo;
217 
218 
261 typedef struct
262 {
263  uint16_t indexGwPri;
264  uint16_t index1xPri;
265  uint16_t indexGwSec;
266  uint16_t index1xSec;
267  uint8_t numSlot;
268  uim_slotInfo SlotInfo[UIM_MAX_NO_OF_SLOTS];
270 
288 typedef struct
289 {
290  uint8_t hotSwapLength;
291  uint8_t hotSwap[UIM_MAX_DESCRIPTION_LENGTH];
293 
312 typedef struct{
313  uim_cardStatus *pCardStatus;
314  uim_hotSwapStatus *pHotSwapStatus;
315  uint16_t Tlvresult;
316  swi_uint256_t ParamPresenceMask;
318 
335 typedef struct
336 {
337  uint8_t pin1Len;
338  uint8_t pin1Val[UIM_MAX_DESCRIPTION_LENGTH];
340 
359 typedef struct
360 {
361  uint8_t verifyLeft;
362  uint8_t unblockLeft;
364 
392 typedef struct
393 {
394  uint8_t sessionType;
395  uint8_t aidLength;
396  uint8_t aid[UIM_MAX_DESCRIPTION_LENGTH];
398 
420 typedef struct{
421  uint8_t pinID;
422  uint8_t pinLen;
423  uint8_t pinVal[UIM_MAX_DESCRIPTION_LENGTH];
425 
452 typedef struct{
453  uint8_t pinID;
454  uint8_t pukLen;
455  uint8_t pukVal[UIM_MAX_DESCRIPTION_LENGTH];
456  uint8_t newPINLen;
457  uint8_t newPINVal[UIM_MAX_DESCRIPTION_LENGTH];
459 
472 typedef struct
473 {
474  uint8_t sw1;
475  uint8_t sw2;
477 
504 typedef struct
505 {
506  uint8_t pinID;
507  uint8_t pinOperation;
508  uint8_t pinLength;
509  uint8_t pinValue[UIM_MAX_DESCRIPTION_LENGTH];
511 
540 typedef struct{
541  uint8_t pinID;
542  uint8_t oldPINLen;
543  uint8_t oldPINVal[UIM_MAX_DESCRIPTION_LENGTH];
544  uint8_t pinLen;
545  uint8_t pinVal[UIM_MAX_DESCRIPTION_LENGTH];
547 
566 typedef struct {
567  uint16_t fileID;
568  uint8_t pathLen;
569  uint16_t path[UIM_UINT8_MAX_STRING_SZ];
570 } uim_fileInfo;
571 
572 
600 typedef struct
601 {
602  uint8_t sessionType;
603  uint8_t aidLength;
604  uint8_t aid[255];
606 
620 typedef struct
621 {
622  uint16_t offset;
623  uint16_t length;
625 
626 
639 typedef struct
640 {
641  uint16_t contentLen;
642  uint8_t content[UIM_MAX_READ_RESULT_SZ];
644 
645 
660  pack_qmi_t *pCtx,
661  uint8_t *pReqBuf,
662  uint16_t *pLen,
663  void *reqArg
664 );
665 
679  uint8_t *pResp,
680  uint16_t respLen,
682 );
683 
718 typedef struct{
719  uim_encryptedPIN1 *pEncryptedPIN1;
720  uint32_t *pIndicationToken;
721  uint8_t *pKeyReferenceID;
722  uim_sessionInformation sessionInfo;
723  uim_verifyUIMPIN verifyPIN;
724  uint16_t Tlvresult;
726 
751 typedef struct{
752  uim_remainingRetries *pRemainingRetries;
753  uim_encryptedPIN1 *pEncryptedPIN1;
754  uint32_t *pIndicationToken;
755  uint16_t Tlvresult;
756  swi_uint256_t ParamPresenceMask;
758 
759 
774  pack_qmi_t *pCtx,
775  uint8_t *pReqBuf,
776  uint16_t *pLen,
777  pack_uim_VerifyPin_t *reqArg
778 );
779 
793  uint8_t *pResp,
794  uint16_t respLen,
795  unpack_uim_VerifyPin_t *pOutput
796 );
797 
830 typedef struct{
831  uim_encryptedPIN1 EncryptedPIN1;
832  uint32_t *pIndicationToken;
833  uint8_t *pKeyReferenceID;
834  uim_sessionInformation sessionInfo;
835  uim_unblockUIMPIN pinProtection;
836  uint16_t Tlvresult;
838 
863 typedef struct{
864  uim_remainingRetries *pRemainingRetries;
865  uim_encryptedPIN1 *pEncryptedPIN1;
866  uint32_t *pIndicationToken;
867  uint16_t Tlvresult;
868  swi_uint256_t ParamPresenceMask;
870 
871 
886  pack_qmi_t *pCtx,
887  uint8_t *pReqBuf,
888  uint16_t *pLen,
889  pack_uim_UnblockPin_t *reqArg
890 );
891 
905  uint8_t *pResp,
906  uint16_t respLen,
907  unpack_uim_UnblockPin_t *pOutput
908 );
909 
941 typedef struct{
942  uim_sessionInformation sessionInfo;
943  uim_setPINProtection pinProtection;
944  uint8_t *pKeyReferenceID;
945  uint32_t *pIndicationToken;
946  uint16_t Tlvresult;
948 
973 typedef struct{
974  uim_remainingRetries *pRemainingRetries;
975  uim_encryptedPIN1 *pEncryptedPIN1;
976  uint32_t *pIndicationToken;
977  uint16_t Tlvresult;
978  swi_uint256_t ParamPresenceMask;
980 
981 
996  pack_qmi_t *pCtx,
997  uint8_t *pReqBuf,
998  uint16_t *pLen,
1000 );
1001 
1015  uint8_t *pResp,
1016  uint16_t respLen,
1018 );
1019 
1051 typedef struct{
1052  uim_encryptedPIN1 EncryptedPIN1;
1053  uint32_t *pIndicationToken;
1054  uint8_t *pKeyReferenceID;
1055  uim_sessionInformation sessionInfo;
1056  uim_changeUIMPIN changePIN;
1057  uint16_t Tlvresult;
1059 
1084 typedef struct{
1085  uim_remainingRetries *pRemainingRetries;
1086  uim_encryptedPIN1 *pEncryptedPIN1;
1087  uint32_t *pIndicationToken;
1088  uint16_t Tlvresult;
1089  swi_uint256_t ParamPresenceMask;
1091 
1092 
1106 int pack_uim_ChangePin(
1107  pack_qmi_t *pCtx,
1108  uint8_t *pReqBuf,
1109  uint16_t *pLen,
1110  pack_uim_ChangePin_t *reqArg
1111 );
1112 
1126  uint8_t *pResp,
1127  uint16_t respLen,
1128  unpack_uim_ChangePin_t *pOutput
1129 );
1130 
1131 
1163 typedef struct{
1164  uim_sessionInformation sessionInfo;
1165  uim_fileInfo fileIndex;
1166  uim_readTransparentInfo readTransparent;
1167  uint32_t *pIndicationToken;
1168  uint8_t *pEncryptData;
1169  uint16_t Tlvresult;
1171 
1201 typedef struct{
1202  uim_cardResult *pCardResult;
1203  uim_readResult *pReadResult;
1204  uint32_t *pIndicationToken;
1205  uint8_t *pEncryptedData;
1206  uint16_t Tlvresult;
1207  swi_uint256_t ParamPresenceMask;
1209 
1210 
1225  pack_qmi_t *pCtx,
1226  uint8_t *pReqBuf,
1227  uint16_t *pLen,
1229 );
1230 
1244  uint8_t *pResp,
1245  uint16_t respLen,
1247 );
1248 
1267 typedef struct{
1268  uint32_t eventMask;
1270 
1285  pack_qmi_t *pCtx,
1286  uint8_t *pReqBuf,
1287  uint16_t *pLen,
1289 );
1290 
1304 typedef struct{
1305  uint32_t eventMask;
1306  swi_uint256_t ParamPresenceMask;
1308 
1322  uint8_t *pResp,
1323  uint16_t respLen,
1325 );
1326 
1431 typedef struct
1432 {
1433  uint8_t appType;
1434  uint8_t appState;
1435  uint8_t persoState;
1436  uint8_t persoFeature;
1437  uint8_t persoRetries;
1438  uint8_t persoUnblockRetries;
1439  uint8_t aidLength;
1440  uint8_t aidVal[MAX_DESCRIPTION_LENGTH];
1441  uint8_t univPin;
1442  uint8_t pin1State;
1443  uint8_t pin1Retries;
1444  uint8_t puk1Retries;
1445  uint8_t pin2State;
1446  uint8_t pin2Retries;
1447  uint8_t puk2Retries;
1448 } appStats;
1449 
1503 typedef struct
1504 {
1505  uint8_t cardState;
1506  uint8_t upinState;
1507  uint8_t upinRetries;
1508  uint8_t upukRetries;
1509  uint8_t errorState;
1510  uint8_t numApp;
1511  appStats AppStatus[MAX_NO_OF_APPLICATIONS];
1512 } slotInf;
1513 
1527 typedef struct{
1528  uim_cardStatus *pCardStatus;
1529  swi_uint256_t ParamPresenceMask;
1531 
1546  uint8_t *pResp,
1547  uint16_t respLen,
1549 );
1550 
1564  pack_qmi_t *pCtx,
1565  uint8_t *pReqBuf,
1566  uint16_t *pLen
1567 );
1568 
1601 typedef struct
1602 {
1603  uint32_t uPhyCardStatus;
1604  uint32_t uPhySlotStatus;
1605  uint8_t bLogicalSlot;
1606  uint8_t bICCIDLength;
1607  uint8_t bICCID[MAX_ICCID_LENGTH];
1608 }slot_t;
1609 
1618 typedef struct
1619 {
1620  slot_t uimSlotStatus[MAX_SLOTS_STATUS];
1621 }slots_t;
1622 
1641 typedef struct{
1642  uint8_t *pNumberOfPhySlot;
1643  slots_t *pUimSlotsStatus;
1644  swi_uint256_t ParamPresenceMask;
1646 
1660  uint8_t *pResp,
1661  uint16_t respLen,
1663 );
1664 
1678  pack_qmi_t *pCtx,
1679  uint8_t *pReqBuf,
1680  uint16_t *pLen
1681 );
1682 
1696 typedef struct {
1697  uint8_t *bICCIDLength;
1698  uint8_t *bICCID;
1700 
1714  uint8_t *pResp,
1715  uint16_t respLen,
1717 );
1718 
1741 typedef struct{
1742  uint8_t bLogicalSlot;
1743  uint32_t ulPhysicalSlot;
1745 
1760  pack_qmi_t *pCtx,
1761  uint8_t *pReqBuf,
1762  uint16_t *pLen,
1764 );
1765 
1767 
1781  uint8_t *pResp,
1782  uint16_t respLen,
1783  unpack_uim_SLQSUIMSwitchSlot_t *pOutput
1784 );
1785 
1803 typedef struct{
1804  slots_t slotsstatusChange;
1805  uint8_t bNumberOfPhySlots;
1806  swi_uint256_t ParamPresenceMask;
1808 
1823  uint8_t *pResp,
1824  uint16_t respLen,
1826 );
1827 
1845 typedef struct{
1846  uint8_t slot;
1847  uint8_t *pIgnoreHotSwapSwitch;
1849 
1864  pack_qmi_t *pCtx,
1865  uint8_t *pReqBuf,
1866  uint16_t *pLen,
1868 );
1869 
1871 
1885  uint8_t *pResp,
1886  uint16_t respLen,
1887  unpack_uim_SLQSUIMPowerUp_t *pOutput
1888 );
1889 
1902 typedef struct{
1903  uint8_t slot;
1905 
1920  pack_qmi_t *pCtx,
1921  uint8_t *pReqBuf,
1922  uint16_t *pLen,
1924 );
1925 
1927 
1941  uint8_t *pResp,
1942  uint16_t respLen,
1943  unpack_uim_SLQSUIMPowerDown_t *pOutput
1944 );
1945 
1959  pack_qmi_t *pCtx,
1960  uint8_t *pReqBuf,
1961  uint16_t *pLen
1962 );
1963 
1965 
1979  uint8_t *pResp,
1980  uint16_t respLen,
1981  unpack_uim_SLQSUIMReset_t *pOutput
1982 );
1983 
1998 typedef struct
1999 {
2000  uim_sessionInformation sessionInfo;
2001  uint8_t OKtoRefresh;
2003 
2020  pack_qmi_t *pCtx,
2021  uint8_t *pReqBuf,
2022  uint16_t *pLen,
2024 );
2025 
2027 
2043  uint8_t *pResp,
2044  uint16_t respLen,
2045  unpack_uim_SLQSUIMRefreshOK_t *pOutput
2046 );
2047 
2075 typedef struct
2076 {
2077  uint8_t registerFlag;
2078  uint8_t voteForInit;
2079  uint16_t numFiles;
2080  uim_fileInfo arrfileInfo[MAX_DESCRIPTION_LENGTH];
2082 
2098 typedef struct
2099 {
2100  uim_sessionInformation sessionInfo;
2101  uim_registerRefresh regRefresh;
2103 
2118  pack_qmi_t *pCtx,
2119  uint8_t *pReqBuf,
2120  uint16_t *pLen,
2122 );
2123 
2125 
2139  uint8_t *pResp,
2140  uint16_t respLen,
2141  unpack_uim_SLQSUIMRefreshRegister_t *pOutput
2142 );
2143 
2160 typedef struct
2161 {
2162  uim_sessionInformation sessionInfo;
2163  uint8_t refreshComplete;
2165 
2182  pack_qmi_t *pCtx,
2183  uint8_t *pReqBuf,
2184  uint16_t *pLen,
2186 );
2187 
2189 
2205  uint8_t *pResp,
2206  uint16_t respLen,
2207  unpack_uim_SLQSUIMRefreshComplete_t *pOutput
2208 );
2209 
2265 typedef struct
2266 {
2267  uint8_t stage;
2268  uint8_t mode;
2269  uint8_t sessionType;
2270  uint8_t aidLength;
2271  uint8_t aid[MAX_DESCRIPTION_LENGTH];
2272  uint16_t numOfFiles;
2273  uim_fileInfo arrfileInfo[MAX_DESCRIPTION_LENGTH];
2275 
2286 typedef struct
2287 {
2288  uim_sessionInformation sessionInfo;
2290 
2305 typedef struct
2306 {
2307  uim_refreshevent *pRefreshEvent;
2308  swi_uint256_t ParamPresenceMask;
2310 
2325  pack_qmi_t *pCtx,
2326  uint8_t *pReqBuf,
2327  uint16_t *pLen,
2329 );
2330 
2344  uint8_t *pResp,
2345  uint16_t respLen,
2347 );
2348 
2376 typedef struct
2377 {
2378  uim_sessionInformation sessionInfo;
2379  uim_fileInfo fileIndex;
2380  uint32_t *pIndicationToken;
2381  uint8_t *pUICCSecurityAttributes;
2383 
2498 typedef struct
2499 {
2500  uint16_t fileSize;
2501  uint16_t fileID;
2502  uint8_t fileType;
2503  uint16_t recordSize;
2504  uint16_t recordCount;
2505  uint8_t secRead;
2506  uint16_t secReadMask;
2507  uint8_t secWrite;
2508  uint16_t secWriteMask;
2509  uint8_t secIncrease;
2510  uint16_t secIncreaseMask;
2511  uint8_t secDeactivate;
2512  uint16_t secDeactivateMask;
2513  uint8_t secActivate;
2514  uint16_t secActivateMask;
2515  uint16_t rawLen;
2516  uint8_t rawValue[MAX_DESCRIPTION_LENGTH];
2518 
2550 typedef struct
2551 {
2552  uim_cardResult *pCardResult;
2553  uim_fileAttributes *pFileAttributes;
2554  uint32_t *pIndicationToken;
2555  uint32_t *pFileStatus;
2556  swi_uint256_t ParamPresenceMask;
2558 
2573  pack_qmi_t *pCtx,
2574  uint8_t *pReqBuf,
2575  uint16_t *pLen,
2577 );
2578 
2592  uint8_t *pResp,
2593  uint16_t respLen,
2595 );
2596 
2629 typedef struct{
2630  uint8_t feature;
2631  uint8_t operation;
2632  uint8_t ckLen;
2633  uint8_t ckVal[MAX_DESCRIPTION_LENGTH];
2635 
2646 typedef struct
2647 {
2648  uim_depersonalizationInformation depersonilisationInfo;
2650 
2665 typedef struct
2666 {
2667  uim_remainingRetries *pRemainingRetries;
2668  swi_uint256_t ParamPresenceMask;
2670 
2685  pack_qmi_t *pCtx,
2686  uint8_t *pReqBuf,
2687  uint16_t *pLen,
2689 );
2690 
2704  uint8_t *pResp,
2705  uint16_t respLen,
2707 );
2708 
2757 typedef struct
2758 {
2759  uint8_t context;
2760  uint16_t dataLen;
2761  uint8_t data[UIM_MAX_CONTENT_LENGTH];
2763 
2784 typedef struct
2785 {
2786  uim_sessionInformation sessionInfo;
2787  uim_authenticationData authData;
2788  uint32_t *pIndicationToken;
2790 
2804 typedef struct
2805 {
2806  uint16_t contentLen;
2807  uint8_t content[UIM_MAX_CONTENT_LENGTH];
2809 
2834 typedef struct
2835 {
2836  uim_cardResult *pCardResult;
2837  uim_authenticateResult *pAuthenticateResult;
2838  uint32_t *pIndicationToken;
2839  swi_uint256_t ParamPresenceMask;
2841 
2856  pack_qmi_t *pCtx,
2857  uint8_t *pReqBuf,
2858  uint16_t *pLen,
2860 );
2861 
2875  uint8_t *pResp,
2876  uint16_t respLen,
2878 );
2879 
2912 typedef struct
2913 {
2914  uint8_t numFeatures;
2915  uint8_t feature[UIM_MAX_ACTIVE_PERS_FEATURES];
2916  uint8_t verifyLeft[UIM_MAX_ACTIVE_PERS_FEATURES];
2917  uint8_t unblockLeft[UIM_MAX_ACTIVE_PERS_FEATURES];
2919 
2936 typedef struct
2937 {
2938  uint32_t *pConfigurationMask;
2940 
2972 typedef struct
2973 {
2974  uint8_t *pAutoSelection;
2975  uim_personalizationStatus *pPersonalizationStatus;
2976  uint8_t *pHaltSubscription;
2977  swi_uint256_t ParamPresenceMask;
2979 
2994  pack_qmi_t *pCtx,
2995  uint8_t *pReqBuf,
2996  uint16_t *pLen,
2998 );
2999 
3013  uint8_t *pResp,
3014  uint16_t respLen,
3016 );
3017 
3030 typedef struct
3031 {
3032  uim_refreshevent refreshEvent;
3033  swi_uint256_t ParamPresenceMask;
3035 
3049  uint8_t *pResp,
3050  uint16_t respLen,
3052 );
3053 
3082 typedef struct
3083 {
3084  uint32_t indication_token;
3087  uint32_t file_status;
3088  swi_uint256_t ParamPresenceMask;
3090 
3104  uint8_t *pResp,
3105  uint16_t respLen,
3107 );
3108 
3124 typedef struct
3125 {
3126  uint16_t offset;
3127  uint16_t dataLen;
3128  uint8_t data[UIM_MAX_CONTENT_LENGTH];
3130 
3154 typedef struct
3155 {
3156  uim_sessionInformation sessionInfo;
3157  uim_fileInfo fileIndex;
3158  uim_writetransparentInfo writeTransparent;
3159  uint32_t *pIndicationToken;
3161 
3176  pack_qmi_t *pCtx,
3177  uint8_t *pReqBuf,
3178  uint16_t *pLen,
3180 );
3181 
3204 typedef struct
3205 {
3206  uim_cardResult *pCardResult;
3207  uint32_t *pIndicationToken;
3208  swi_uint256_t ParamPresenceMask;
3210 
3224  uint8_t *pResp,
3225  uint16_t respLen,
3227 );
3228 
3242 typedef struct
3243 {
3244  uint16_t record;
3245  uint16_t length;
3247 
3275 typedef struct
3276 {
3277  uim_sessionInformation sessionInfo;
3278  uim_fileInfo fileIndex;
3279  uim_readRecordInfo readRecord;
3280  uint16_t *pLastRecord;
3281  uint32_t *pIndicationToken;
3283 
3298  pack_qmi_t *pCtx,
3299  uint8_t *pReqBuf,
3300  uint16_t *pLen,
3301  pack_uim_ReadRecord_t *reqArg
3302 );
3303 
3317 typedef struct
3318 {
3319  uint16_t additionalRecordLen;
3320  uint8_t additionalRecord[MAX_DESCRIPTION_LENGTH];
3322 
3353 typedef struct
3354 {
3355  uim_cardResult *pCardResult;
3356  uim_readResult *pReadResult;
3357  uim_additionalReadResult *pAdditionalReadResult;
3358  uint32_t *pIndicationToken;
3359  swi_uint256_t ParamPresenceMask;
3361 
3375  uint8_t *pResp,
3376  uint16_t respLen,
3377  unpack_uim_ReadRecord_t *pOutput
3378 );
3379 
3396 typedef struct
3397 {
3398  uint16_t record;
3399  uint16_t dataLen;
3400  uint8_t data[MAX_DESCRIPTION_LENGTH];
3402 
3426 typedef struct
3427 {
3428  uim_sessionInformation sessionInfo;
3429  uim_fileInfo fileIndex;
3430  uim_writeRecordInfo writeRecord;
3431  uint32_t *pIndicationToken;
3433 
3448  pack_qmi_t *pCtx,
3449  uint8_t *pReqBuf,
3450  uint16_t *pLen,
3451  pack_uim_WriteRecord_t *reqArg
3452 );
3453 
3476 typedef struct
3477 {
3478  uim_cardResult *pCardResult;
3479  uint32_t *pIndicationToken;
3480  swi_uint256_t ParamPresenceMask;
3482 
3496  uint8_t *pResp,
3497  uint16_t respLen,
3498  unpack_uim_WriteRecord_t *pOutput
3499 );
3500 
3516 typedef struct
3517 {
3518  uint8_t aidLength;
3519  uint8_t aid[MAX_DESCRIPTION_LENGTH];
3520 } uim_openChannel;
3521 
3561 typedef struct
3562 {
3563  uint8_t bSlot;
3564  uim_openChannel *pOpenCh;
3565  uint8_t *pChID;
3566  uint8_t *pFileControlInfo;
3567  uint8_t *pTerminate;
3569 
3584  pack_qmi_t *pCtx,
3585  uint8_t *pReqBuf,
3586  uint16_t *pLen,
3588 );
3589 
3602 typedef struct
3603 {
3604  uint8_t respLen;
3605  uint8_t resp[MAX_DESCRIPTION_LENGTH];
3606 } uim_selectResp;
3607 
3619 typedef struct
3620 {
3621  uint8_t sw1;
3622  uint8_t sw2;
3624 
3647 typedef struct
3648 {
3649  uint8_t *pChID;
3650  uim_logicalChCardResult *pCardResult;
3651  uim_selectResp *pSelectResp;
3652  swi_uint256_t ParamPresenceMask;
3654 
3668  uint8_t *pResp,
3669  uint16_t respLen,
3671 );
3672 
3687 typedef struct
3688 {
3689  uim_sessionInformation sessionInfo;
3690  uint8_t *pFDNStatus;
3692 
3707  pack_qmi_t *pCtx,
3708  uint8_t *pReqBuf,
3709  uint16_t *pLen,
3711 );
3712 
3714 
3728  uint8_t *pResp,
3729  uint16_t respLen,
3730  unpack_uim_SetServiceStatus_t *pOutput
3731 );
3732 
3749 typedef struct
3750 {
3751  uim_sessionInformation sessionInfo;
3752  uint32_t capMask;
3754 
3769  pack_qmi_t *pCtx,
3770  uint8_t *pReqBuf,
3771  uint16_t *pLen,
3773 );
3774 
3803 typedef struct
3804 {
3805  uint8_t *pFDNStatus;
3806  uint8_t *pHiddenKeyStatus;
3807  uint8_t *pIndex;
3808  swi_uint256_t ParamPresenceMask;
3810 
3824  uint8_t *pResp,
3825  uint16_t respLen,
3827 );
3828 
3829 #ifdef __cplusplus
3830 } /* extern "C" { */
3831 #endif
3832 
3833 #endif
3834 
Definition: uim.h:1304
int pack_uim_LogicalChannel(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_LogicalChannel_t *reqArg)
int unpack_uim_WriteTransparent(uint8_t *pResp, uint16_t respLen, unpack_uim_WriteTransparent_t *pOutput)
Definition: uim.h:261
Definition: uim.h:620
int pack_uim_SLQSUIMSwitchSlot(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMSwitchSlot_t *reqArg)
Definition: uim.h:3619
Definition: uim.h:941
Definition: uim.h:2498
Definition: uim.h:1741
int pack_uim_SLQSUIMGetConfiguration(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMGetConfiguration_t *reqArg)
int pack_uim_GetCardStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, void *reqArg)
Definition: uim.h:420
int unpack_uim_SLQSUIMReset(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMReset_t *pOutput)
int unpack_uim_SLQSUIMRefreshRegister(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMRefreshRegister_t *pOutput)
int unpack_uim_SLQSUIMSetStatusChangeCallBack_ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMSetStatusChangeCallBack_ind_t *pOutput)
Definition: uim.h:1084
Definition: uim.h:1618
Definition: uim.h:1503
Definition: uim.h:1902
int unpack_uim_SLQSUIMSwitchSlot(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMSwitchSlot_t *pOutput)
int unpack_uim_SLQSUIMGetConfiguration(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetConfiguration_t *pOutput)
Definition: uim.h:830
int unpack_uim_SLQSUIMGetSlotsStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetSlotsStatus_t *pOutput)
Definition: uim.h:3204
Definition: uim.h:1845
int unpack_uim_UnblockPin(uint8_t *pResp, uint16_t respLen, unpack_uim_UnblockPin_t *pOutput)
int pack_uim_WriteRecord(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_WriteRecord_t *reqArg)
int unpack_uim_LogicalChannel(uint8_t *pResp, uint16_t respLen, unpack_uim_LogicalChannel_t *pOutput)
int unpack_uim_SLQSUIMPowerDown(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMPowerDown_t *pOutput)
Definition: uim.h:1201
int pack_uim_SLQSUIMPowerDown(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMPowerDown_t *reqArg)
Definition: uim.h:751
Definition: uim.h:392
int unpack_uim_SLQSUIMRefreshComplete(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMRefreshComplete_t *pOutput)
Definition: uim.h:2804
int unpack_uim_SLQSUIMRefreshOK(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMRefreshOK_t *pOutput)
Definition: uim.h:2757
int unpack_uim_SLQSUIMAuthenticate(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMAuthenticate_t *pOutput)
int unpack_uim_VerifyPin(uint8_t *pResp, uint16_t respLen, unpack_uim_VerifyPin_t *pOutput)
int pack_uim_SLQSUIMRefreshGetLastEvent(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMRefreshGetLastEvent_t *reqArg)
int unpack_uim_ChangePin(uint8_t *pResp, uint16_t respLen, unpack_uim_ChangePin_t *pOutput)
int pack_uim_ChangePin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_ChangePin_t *reqArg)
int unpack_uim_SLQSUIMGetFileAttributes(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetFileAttributes_t *pOutput)
Definition: uim.h:2098
int pack_uim_SLQSUIMReset(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen)
Definition: uim.h:312
Definition: uim.h:3242
int unpack_uim_GetServiceStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_GetServiceStatus_t *pOutput)
Definition: uim.h:2160
Definition: uim.h:3353
Definition: uim.h:540
Definition: uim.h:3803
Definition: common.h:350
int pack_uim_SLQSUIMRefreshRegister(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMRefreshRegister_t *reqArg)
int pack_uim_ReadTransparent(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_ReadTransparent_t *reqArg)
Definition: uim.h:452
int unpack_uim_GetCardStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_GetCardStatus_t *pOutput)
Definition: uim.h:1431
Definition: uim.h:2265
int pack_uim_SetPinProtection(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SetPinProtection_t *reqArg)
Definition: uim.h:2075
int pack_uim_GetServiceStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_GetServiceStatus_t *reqArg)
Definition: uim.h:3749
int pack_uim_SLQSUIMRefreshOK(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMRefreshOK_t *reqArg)
Definition: uim.h:2784
Definition: uim.h:3687
Definition: uim.h:359
Definition: uim.h:2629
Definition: uim.h:3516
Definition: uim.h:718
Definition: uim.h:639
int unpack_uim_SLQSUIMRefreshGetLastEvent(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMRefreshGetLastEvent_t *pOutput)
int pack_uim_SLQSUIMPowerUp(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMPowerUp_t *reqArg)
Definition: uim.h:2912
int pack_uim_ReadRecord(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_ReadRecord_t *reqArg)
int pack_uim_WriteTransparent(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_WriteTransparent_t *reqArg)
int unpack_uim_SetPinProtection(uint8_t *pResp, uint16_t respLen, unpack_uim_SetPinProtection_t *pOutput)
int unpack_uim_SetServiceStatus(uint8_t *pResp, uint16_t respLen, unpack_uim_SetServiceStatus_t *pOutput)
int pack_uim_VerifyPin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_VerifyPin_t *reqArg)
Definition: uim.h:3476
Definition: uim.h:472
Definition: uim.h:600
Definition: uim.h:3396
Definition: uim.h:3426
int unpack_uim_SLQSUIMGetIccid(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetIccid_t *pOutput)
Definition: uim.h:504
int pack_uim_SLQSUIMRefreshComplete(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMRefreshComplete_t *reqArg)
Definition: uim.h:3317
int unpack_uim_SLQSUIMPowerUp(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMPowerUp_t *pOutput)
Definition: uim.h:207
Definition: uim.h:1696
Definition: uim.h:335
Definition: uim.h:3647
Definition: qaGobiApiUim.h:1120
int unpack_uim_SLQSUIMRefreshCallback_Ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMRefreshCallback_Ind_t *pOutput)
int pack_uim_SLQSUIMDepersonalization(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMDepersonalization_t *reqArg)
Definition: uim.h:973
Definition: uim.h:3275
Definition: uim.h:288
int unpack_uim_GetFileAttributesInd_ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMGetFileAttibutes_Ind_t *pOutput)
int pack_uim_SLQSUIMAuthenticate(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMAuthenticate_t *reqArg)
int pack_uim_SetServiceStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SetServiceStatus_t *reqArg)
Definition: uim.h:863
Definition: uim.h:134
Definition: uim.h:3561
int pack_uim_SLQSUIMEventRegister(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMEventRegister_t *reqArg)
int unpack_uim_ReadTransparent(uint8_t *pResp, uint16_t respLen, unpack_uim_ReadTransparent_t *pOutput)
int unpack_uim_ReadRecord(uint8_t *pResp, uint16_t respLen, unpack_uim_ReadRecord_t *pOutput)
Definition: qaGobiApiUim.h:1000
Definition: uim.h:1267
int pack_uim_SLQSUIMGetIccid(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen)
int unpack_uim_SLQSUIMEventRegister(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMEventRegister_t *pOutput)
Definition: uim.h:566
int unpack_uim_SLQSUIMDepersonalization(uint8_t *pResp, uint16_t respLen, unpack_uim_SLQSUIMDepersonalization_t *pOutput)
Definition: uim.h:1998
int pack_uim_UnblockPin(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_UnblockPin_t *reqArg)
Definition: uim.h:2834
Definition: common.h:139
Definition: uim.h:1051
Definition: uim.h:1163
int unpack_uim_SetUimSlotStatusChangeCallback_ind(uint8_t *pResp, uint16_t respLen, unpack_uim_SetUimSlotStatusChangeCallback_ind_t *pOutput)
int pack_uim_SLQSUIMGetFileAttributes(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen, pack_uim_SLQSUIMGetFileAttributes_t *reqArg)
Definition: uim.h:3124
int pack_uim_SLQSUIMGetSlotsStatus(pack_qmi_t *pCtx, uint8_t *pReqBuf, uint16_t *pLen)
Definition: uim.h:3154
Definition: uim.h:3602
int unpack_uim_WriteRecord(uint8_t *pResp, uint16_t respLen, unpack_uim_WriteRecord_t *pOutput)
Definition: uim.h:1601