diff options
Diffstat (limited to 'telephony/sim_card.h')
-rw-r--r-- | telephony/sim_card.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/telephony/sim_card.h b/telephony/sim_card.h new file mode 100644 index 0000000..af78237 --- /dev/null +++ b/telephony/sim_card.h @@ -0,0 +1,54 @@ +/* Copyright (C) 2007-2008 The Android Open Source Project +** +** This software is licensed under the terms of the GNU General Public +** License version 2, as published by the Free Software Foundation, and +** may be copied, distributed, and modified under those terms. +** +** This program is distributed in the hope that it will be useful, +** but WITHOUT ANY WARRANTY; without even the implied warranty of +** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +** GNU General Public License for more details. +*/ +#ifndef _android_sim_card_h +#define _android_sim_card_h + +#include "gsm.h" + +typedef struct ASimCardRec_* ASimCard; + +extern ASimCard asimcard_create( void ); +extern void asimcard_destroy( ASimCard sim ); + +typedef enum { + A_SIM_STATUS_ABSENT = 0, + A_SIM_STATUS_NOT_READY, + A_SIM_STATUS_READY, + A_SIM_STATUS_PIN, + A_SIM_STATUS_PUK, + A_SIM_STATUS_NETWORK_PERSONALIZATION +} ASimStatus; + +extern ASimStatus asimcard_get_status( ASimCard sim ); +extern void asimcard_set_status( ASimCard sim, ASimStatus status ); + +extern const char* asimcard_get_pin( ASimCard sim ); +extern const char* asimcard_get_puk( ASimCard sim ); +extern void asimcard_set_pin( ASimCard sim, const char* pin ); +extern void asimcard_set_puk( ASimCard sim, const char* puk ); + +extern int asimcard_check_pin( ASimCard sim, const char* pin ); +extern int asimcard_check_puk( ASimCard sim, const char* puk, const char* pin ); + +/* Restricted SIM Access command, as defined by 8.18 of 3GPP 27.007 */ +typedef enum { + A_SIM_CMD_READ_BINARY = 176, + A_SIM_CMD_READ_RECORD = 178, + A_SIM_CMD_GET_RESPONSE = 192, + A_SIM_CMD_UPDATE_BINARY = 214, + A_SIM_CMD_UPDATE_RECORD = 220, + A_SIM_CMD_STATUS = 242 +} ASimCommand; + +extern const char* asimcard_io( ASimCard sim, const char* cmd ); + +#endif /* _android_sim_card_h */ |