libosmosim 1.13.1.1-afb4 Osmocom SIM library

class_tables.h
Go to the documentation of this file.
1
3/*
4 * (C) 2016 by Harald Welte <laforge@gnumonks.org>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2, or
8 * any later version as published by the Free Software Foundation.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 */
15
16#pragma once
17
18#include <stdint.h>
19
20 struct osim_cla_ins_case {
21 uint8_t cla;
22 uint8_t cla_mask;
23 int (*helper)(const struct osim_cla_ins_case *cic, const uint8_t *hdr);
24 const uint8_t *ins_tbl;
25};
26
27 struct osim_cla_ins_card_profile {
28 const char *name;
29 const char *description;
30 const struct osim_cla_ins_case *cic_arr;
31 unsigned int cic_arr_size;
32};
33
34 extern const struct osim_cla_ins_card_profile osim_iso7816_cic_profile;
35 extern const struct osim_cla_ins_card_profile osim_uicc_cic_profile;
36 extern const struct osim_cla_ins_card_profile osim_uicc_sim_cic_profile;
37
38 int osim_determine_apdu_case(const struct osim_cla_ins_card_profile *prof,
39 const uint8_t *hdr);
osim_determine_apdu_case
int osim_determine_apdu_case(const struct osim_cla_ins_card_profile *prof, const uint8_t *hdr)
Definition: class_tables.c:396
osim_uicc_cic_profile
const struct osim_cla_ins_card_profile osim_uicc_cic_profile
Definition: class_tables.c:308
osim_iso7816_cic_profile
const struct osim_cla_ins_card_profile osim_iso7816_cic_profile
Definition: class_tables.c:69
osim_uicc_sim_cic_profile
const struct osim_cla_ins_card_profile osim_uicc_sim_cic_profile
Definition: class_tables.c:377
osim_cla_ins_card_profile
Definition: class_tables.h:27
osim_cla_ins_card_profile::cic_arr
const struct osim_cla_ins_case * cic_arr
Definition: class_tables.h:30
osim_cla_ins_card_profile::description
const char * description
Definition: class_tables.h:29
osim_cla_ins_card_profile::name
const char * name
Definition: class_tables.h:28
osim_cla_ins_card_profile::cic_arr_size
unsigned int cic_arr_size
Definition: class_tables.h:31
osim_cla_ins_case
Definition: class_tables.h:20
osim_cla_ins_case::cla_mask
uint8_t cla_mask
Definition: class_tables.h:22
osim_cla_ins_case::cla
uint8_t cla
Definition: class_tables.h:21
osim_cla_ins_case::helper
int(* helper)(const struct osim_cla_ins_case *cic, const uint8_t *hdr)
Definition: class_tables.h:23
osim_cla_ins_case::ins_tbl
const uint8_t * ins_tbl
Definition: class_tables.h:24