mirror of
https://github.com/estkme-group/lpac
synced 2024-09-19 15:30:40 +02:00
35 lines
862 B
C
35 lines
862 B
C
#pragma once
|
|
#include "euicc.h"
|
|
#include "interface.h"
|
|
|
|
#include <inttypes.h>
|
|
|
|
enum apdu_sw1
|
|
{
|
|
SW1_OK = 0x90,
|
|
SW1_LAST = 0x61,
|
|
};
|
|
|
|
struct apdu_request
|
|
{
|
|
uint8_t cla;
|
|
uint8_t ins;
|
|
uint8_t p1;
|
|
uint8_t p2;
|
|
uint8_t length;
|
|
uint8_t data[];
|
|
} __attribute__((packed));
|
|
|
|
struct apdu_response
|
|
{
|
|
uint8_t *data;
|
|
uint32_t length;
|
|
uint8_t sw1;
|
|
uint8_t sw2;
|
|
};
|
|
|
|
int euicc_apdu_lc(struct euicc_ctx *ctx, struct apdu_request **apdu, uint8_t cla, uint8_t ins, uint8_t p1, uint8_t p2, uint8_t datalen);
|
|
int euicc_apdu_le(struct euicc_ctx *ctx, struct apdu_request **apdu, uint8_t cla, uint8_t ins, uint8_t p1, uint8_t p2, uint8_t requestlen);
|
|
int euicc_apdu_transmit(struct euicc_ctx *ctx, struct apdu_response *response, const struct apdu_request *req, uint32_t req_len);
|
|
void euicc_apdu_response_free(struct apdu_response *resp);
|