Go to the source code of this file.
Data Structures | |
struct | fci |
struct | df_fci |
struct | df_gsm |
struct | ef_fci |
struct | _sms |
struct | _sim |
Defines | |
#define | SIM_CLA 0xa0 |
#define | SIM_INS_SELECT 0xa4 |
#define | SIM_INS_READ_BINARY 0xb0 |
#define | SIM_INS_READ_RECORD 0xb2 |
#define | SIM_INS_GET_RESPONSE 0xc0 |
#define | SIM_MF 0x3f00 |
#define | SIM_EF_ICCID 0x2fe2 |
#define | SIM_DF_TELECOM 0x7f10 |
#define | SIM_DF_GSM 0x7f20 |
#define | SIM_EF_SMS 0x6f3c |
#define | SIM_EF_IMSI 0x6f07 |
#define | SIM_SW1_SUCCESS 0x90 |
#define | SIM_SW1_SHORT 0x9f |
#define | SIM_SW1_MEM_ERR 0x92 |
#define | SIM_SW1_REF_ERR 0x94 |
#define | SIM_SW1_SEC_ERR 0x98 |
#define | SIM_TYPE_MASK 0xff00 |
#define | SIM_MF 0x3f00 |
#define | SIM_TYPE_DF 0x7f00 |
#define | SIM_TYPE_EF 0x6f00 |
#define | SIM_TYPE_ROOT_EF 0x2f00 |
#define | SIM_FILE_INVALID 0xffff |
#define | SIM_IS_MF(x) ((x & SIM_TYPE_MASK) == SIM_MF) |
#define | SIM_IS_DF(x) ((x & SIM_TYPE_MASK) == SIM_TYPE_DF) |
#define | SIM_IS_EF(x) ((x & SIM_TYPE_MASK) == SIM_TYPE_EF) |
#define | SIM_IS_RoOT_EF(x) ((x & SIM_TYPE_MASK) == SIM_TYPE_ROOT_EF) |
#define | EF_TRANSPARENT 0x0 |
#define | EF_LINEAR 0x1 |
#define | EF_CYCLIC 0x3 |
#define | SIM_SMS_STATUS_FREE 0 |
#define | SIM_SMS_STATUS_READ 1 |
#define | SIM_SMS_STATUS_UNREAD 3 |
#define | SIM_SMS_STATUS_SENT 5 |
#define | SIM_SMS_STATUS_UNSENT 7 |
#define | SMS_TP_MTI ((1<<0)|(1<<1)) |
#define | SMS_TP_MMS (1<<2) |
#define | SMS_TP_SRI (1<<5) |
#define | SMS_TP_UDHI (1<<6) |
#define | SMS_TP_RP (1<<7) |
#define | GSM_NUMBER_TYPE_MASK (7 << 4) |
#define | GSM_NUMBER_UNKNOWN (0 << 4) |
#define | GSM_NUMBER_INTL (1 << 4) |
#define | GSM_NUMBER_NATIONAL (2 << 4) |
#define | GSM_NUMBER_NET_SPEC (3 << 4) |
#define | GSM_NUMBER_SUBSCR (4 << 4) |
#define | GSM_NUMBER_ABBREV (5 << 4) |
#define | GSM_NUMBER_ALNUM (6 << 4) |
#define | GSM_NUMBER_RESERVED (7 << 4) |
#define | GSM_PLAN_MASK 0xf |
#define | GSM_PLAN_UNKNOWN 0 |
#define | GSM_PLAN_ISDN 1 |
#define | GSM_PLAN_X121 3 |
#define | GSM_PLAN_TELEX 4 |
#define | GSM_PLAN_NATIONAL 8 |
#define | GSM_PLAN_PRIVATE 9 |
#define | GSM_PLAN_ERMES 10 |
#define | EF_FCI_MIN_OPT_LEN 2 |
Functions | |
_private int | _apdu_select (struct _sim *s, uint16_t id) |
_private int | _apdu_read_binary (struct _sim *s, uint16_t ofs, uint8_t len) |
_private int | _apdu_read_record (struct _sim *s, uint8_t rec, uint8_t len) |
_private void | _sms_decode (struct _sms *, const uint8_t *ptr) |
Variables | |
struct fci | _packed |
#define EF_CYCLIC 0x3 |
Definition at line 44 of file sim-internal.h.
Referenced by set_ef_fci().
#define EF_FCI_MIN_OPT_LEN 2 |
Definition at line 109 of file sim-internal.h.
Referenced by set_ef_fci().
#define EF_LINEAR 0x1 |
Definition at line 43 of file sim-internal.h.
Referenced by set_ef_fci().
#define EF_TRANSPARENT 0x0 |
Definition at line 42 of file sim-internal.h.
Referenced by set_ef_fci().
#define GSM_NUMBER_ABBREV (5 << 4) |
Definition at line 67 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_ALNUM (6 << 4) |
Definition at line 68 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_INTL (1 << 4) |
Definition at line 63 of file sim-internal.h.
Referenced by fmt_number(), and number_type().
#define GSM_NUMBER_NATIONAL (2 << 4) |
Definition at line 64 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_NET_SPEC (3 << 4) |
Definition at line 65 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_RESERVED (7 << 4) |
Definition at line 69 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_SUBSCR (4 << 4) |
Definition at line 66 of file sim-internal.h.
Referenced by number_type().
#define GSM_NUMBER_TYPE_MASK (7 << 4) |
Definition at line 61 of file sim-internal.h.
Referenced by fmt_number(), and number_type().
#define GSM_NUMBER_UNKNOWN (0 << 4) |
Definition at line 62 of file sim-internal.h.
Referenced by number_type().
#define GSM_PLAN_ERMES 10 |
Definition at line 79 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_ISDN 1 |
Definition at line 74 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_MASK 0xf |
Definition at line 72 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_NATIONAL 8 |
Definition at line 77 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_PRIVATE 9 |
Definition at line 78 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_TELEX 4 |
Definition at line 76 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_UNKNOWN 0 |
Definition at line 73 of file sim-internal.h.
Referenced by number_plan().
#define GSM_PLAN_X121 3 |
Definition at line 75 of file sim-internal.h.
Referenced by number_plan().
#define SIM_CLA 0xa0 |
Definition at line 9 of file sim-internal.h.
Referenced by _apdu_read_binary(), _apdu_read_record(), do_get_response(), and do_select().
#define SIM_DF_GSM 0x7f20 |
Definition at line 21 of file sim-internal.h.
Referenced by read_imsi().
#define SIM_DF_TELECOM 0x7f10 |
Definition at line 19 of file sim-internal.h.
Referenced by sim_sms_save().
#define SIM_EF_ICCID 0x2fe2 |
Definition at line 17 of file sim-internal.h.
Referenced by read_iccid().
#define SIM_EF_IMSI 0x6f07 |
Definition at line 23 of file sim-internal.h.
Referenced by read_imsi().
#define SIM_EF_SMS 0x6f3c |
Definition at line 22 of file sim-internal.h.
Referenced by sim_sms_save().
#define SIM_FILE_INVALID 0xffff |
Definition at line 36 of file sim-internal.h.
Referenced by set_fci().
#define SIM_INS_GET_RESPONSE 0xc0 |
Definition at line 14 of file sim-internal.h.
Referenced by do_get_response().
#define SIM_INS_READ_BINARY 0xb0 |
Definition at line 12 of file sim-internal.h.
Referenced by _apdu_read_binary().
#define SIM_INS_READ_RECORD 0xb2 |
Definition at line 13 of file sim-internal.h.
Referenced by _apdu_read_record().
#define SIM_INS_SELECT 0xa4 |
Definition at line 11 of file sim-internal.h.
Referenced by do_select().
#define SIM_IS_DF | ( | x | ) | ((x & SIM_TYPE_MASK) == SIM_TYPE_DF) |
Definition at line 38 of file sim-internal.h.
#define SIM_IS_EF | ( | x | ) | ((x & SIM_TYPE_MASK) == SIM_TYPE_EF) |
Definition at line 39 of file sim-internal.h.
#define SIM_IS_MF | ( | x | ) | ((x & SIM_TYPE_MASK) == SIM_MF) |
Definition at line 37 of file sim-internal.h.
#define SIM_IS_RoOT_EF | ( | x | ) | ((x & SIM_TYPE_MASK) == SIM_TYPE_ROOT_EF) |
Definition at line 40 of file sim-internal.h.
#define SIM_MF 0x3f00 |
Definition at line 32 of file sim-internal.h.
#define SIM_MF 0x3f00 |
Definition at line 32 of file sim-internal.h.
#define SIM_SMS_STATUS_FREE 0 |
Definition at line 47 of file sim-internal.h.
Referenced by _sms_decode().
#define SIM_SMS_STATUS_READ 1 |
Definition at line 48 of file sim-internal.h.
Referenced by _sms_decode().
#define SIM_SMS_STATUS_SENT 5 |
Definition at line 50 of file sim-internal.h.
Referenced by _sms_decode().
#define SIM_SMS_STATUS_UNREAD 3 |
Definition at line 49 of file sim-internal.h.
Referenced by _sms_decode().
#define SIM_SMS_STATUS_UNSENT 7 |
Definition at line 51 of file sim-internal.h.
Referenced by _sms_decode().
#define SIM_SW1_MEM_ERR 0x92 |
Definition at line 27 of file sim-internal.h.
#define SIM_SW1_REF_ERR 0x94 |
Definition at line 28 of file sim-internal.h.
#define SIM_SW1_SEC_ERR 0x98 |
Definition at line 29 of file sim-internal.h.
#define SIM_SW1_SHORT 0x9f |
Definition at line 26 of file sim-internal.h.
Referenced by _apdu_select().
#define SIM_SW1_SUCCESS 0x90 |
Definition at line 25 of file sim-internal.h.
Referenced by _apdu_select().
#define SIM_TYPE_DF 0x7f00 |
Definition at line 33 of file sim-internal.h.
Referenced by set_fci().
#define SIM_TYPE_EF 0x6f00 |
Definition at line 34 of file sim-internal.h.
Referenced by set_fci().
#define SIM_TYPE_MASK 0xff00 |
Definition at line 31 of file sim-internal.h.
Referenced by set_fci().
#define SIM_TYPE_ROOT_EF 0x2f00 |
Definition at line 35 of file sim-internal.h.
Referenced by set_fci().
#define SMS_TP_MMS (1<<2) |
Definition at line 55 of file sim-internal.h.
Referenced by _sms_decode().
#define SMS_TP_MTI ((1<<0)|(1<<1)) |
Definition at line 54 of file sim-internal.h.
Referenced by _sms_decode().
#define SMS_TP_RP (1<<7) |
Definition at line 58 of file sim-internal.h.
Referenced by _sms_decode().
#define SMS_TP_SRI (1<<5) |
Definition at line 56 of file sim-internal.h.
Referenced by _sms_decode().
#define SMS_TP_UDHI (1<<6) |
Definition at line 57 of file sim-internal.h.
Referenced by _sms_decode().
_private int _apdu_read_binary | ( | struct _sim * | s, | |
uint16_t | ofs, | |||
uint8_t | len | |||
) |
Definition at line 57 of file sim_apdu.c.
References chipcard_transact(), _sim::s_cc, _sim::s_xfr, SIM_CLA, SIM_INS_READ_BINARY, xfr_reset(), xfr_rx_sw1(), and xfr_tx_byte().
Referenced by _sim_read_binary().
_private int _apdu_read_record | ( | struct _sim * | s, | |
uint8_t | rec, | |||
uint8_t | len | |||
) |
Definition at line 70 of file sim_apdu.c.
References chipcard_transact(), _sim::s_cc, _sim::s_xfr, SIM_CLA, SIM_INS_READ_RECORD, xfr_reset(), xfr_rx_sw1(), and xfr_tx_byte().
Referenced by _sim_read_record().
_private int _apdu_select | ( | struct _sim * | s, | |
uint16_t | id | |||
) |
Definition at line 35 of file sim_apdu.c.
References do_get_response(), do_select(), _sim::s_xfr, SIM_SW1_SHORT, SIM_SW1_SUCCESS, xfr_rx_sw1(), and xfr_rx_sw2().
Referenced by _sim_select().
_private void _sms_decode | ( | struct _sms * | , | |
const uint8_t * | ptr | |||
) |
Definition at line 119 of file sim_sms.c.
References _sms::data, decode_7bit(), fmt_number(), hi_nibble(), lo_nibble(), number_plan(), number_type(), _sms::sender, _sms::sender_len, _sms::sender_type, SIM_SMS_STATUS_FREE, SIM_SMS_STATUS_READ, SIM_SMS_STATUS_SENT, SIM_SMS_STATUS_UNREAD, SIM_SMS_STATUS_UNSENT, _sms::sms_deliver, SMS_TP_MMS, SMS_TP_MTI, SMS_TP_RP, SMS_TP_SRI, SMS_TP_UDHI, _sms::smsc, _sms::smsc_len, _sms::smsc_type, _sms::status, _sms::timestamp, _sms::tp_dcs, _sms::tp_pid, and _sms::uda.
Referenced by sim_sms_restore().