Files
openairinterface5g/openair3/NAS/UE/API/USER/at_error.h
T
2015-10-06 16:53:42 +00:00

202 lines
7.5 KiB
C

/*******************************************************************************
OpenAirInterface
Copyright(c) 1999 - 2014 Eurecom
OpenAirInterface is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenAirInterface 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.
You should have received a copy of the GNU General Public License
along with OpenAirInterface.The full GNU General Public License is
included in this distribution in the file called "COPYING". If not,
see <http://www.gnu.org/licenses/>.
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Compus SophiaTech 450, route des chappes, 06451 Biot, France.
*******************************************************************************/
/*****************************************************************************
Source at_error.h
Version 0.1
Date 2012/03/12
Product NAS stack
Subsystem Application Programming Interface
Author Frederic Maurel
Description Defines error codes returned when execution of AT command
failed.
*****************************************************************************/
#ifndef __AT_ERROR_H__
#define __AT_ERROR_H__
/****************************************************************************/
/********************* G L O B A L C O N S T A N T S *******************/
/****************************************************************************/
/*
* Cause code used to notify that the NAS procedure has been successfully
* processed
*/
#define AT_ERROR_SUCCESS (-1)
/*
* General errors
* --------------
*/
#define AT_ERROR_FIRST_GENERAL_ERROR AT_ERROR_PHONE_FAILURE
#define AT_ERROR_PHONE_FAILURE 0
#define AT_ERROR_NO_CONNECTION_TO_PHONE 1
#define AT_ERROR_PHONE_ADAPTOR_LINK_RESERVED 2
#define AT_ERROR_OPERATION_NOT_ALLOWED 3
#define AT_ERROR_OPERATION_NOT_SUPPORTED 4
#define AT_ERROR_PHSIM_PIN_REQUIRED 5
#define AT_ERROR_PHFSIM_PIN_REQUIRED 6
#define AT_ERROR_PHFSIM_PUK_REQUIRED 7
#define AT_ERROR_SIM_NOT_INSERTED 10
#define AT_ERROR_SIM_PIN_REQUIRED 11
#define AT_ERROR_SIM_PUK_REQUIRED 12
#define AT_ERROR_SIM_FAILURE 13
#define AT_ERROR_SIM_BUSY 14
#define AT_ERROR_SIM_WRONG 15
#define AT_ERROR_INCORRECT_PASSWD 16
#define AT_ERROR_SIM_PIN2_REQUIRED 17
#define AT_ERROR_SIM_PUK2_REQUIRED 18
#define AT_ERROR_MEMORY_FULL 20
#define AT_ERROR_INVALID_INDEX 21
#define AT_ERROR_NOT_FOUND 22
#define AT_ERROR_MEMORY_FAILURE 23
#define AT_ERROR_TEXT_STRING_TOO_LONG 24
#define AT_ERROR_TEXT_STRING_INVALID_CHAR 25
#define AT_ERROR_DIAL_STRING_TOO_LONG 26
#define AT_ERROR_DIAL_STRING_INVALID_CHAR 27
#define AT_ERROR_NO_NETWORK_SERVICE 30
#define AT_ERROR_TIMEOUT 31
#define AT_ERROR_NETWORK_NOT_ALLOWED 32
#define AT_ERROR_NETWORK_PERSO_PIN_REQUIRED 40
#define AT_ERROR_NETWORK_PERSO_PUK_REQUIRED 41
#define AT_ERROR_NETWORK_SUBNET_PERSO_PIN_REQUIRED 42
#define AT_ERROR_SUBNET_PERSO_PUK_REQUIRED 43
#define AT_ERROR_PROVIDER_PERSO_PIN_REQUIRED 44
#define AT_ERROR_PROVIDER_PERSO_PUK_REQUIRED 45
#define AT_ERROR_CORPORATE_PERSO_PIN_REQUIRED 46
#define AT_ERROR_CORPORATE_PERSO_PUK_REQUIRED 47
#define AT_ERROR_HIDDEN_KEY_REQUIRED 48
#define AT_ERROR_EAP_METHOD_NOT_SUPPORTED 49
#define AT_ERROR_INCORRECT_PARAMETERS 50
#define AT_ERROR_LAST_GENERAL_ERROR AT_ERROR_INCORRECT_PARAMETERS
#define AT_ERROR_UNKNOWN 100
/*
* GPRS-related errors
* -------------------
*/
/* Errors related to a failure to perform an attach */
#define AT_ERROR_FIRST_GPRS_RELATED_ERROR AT_ERROR_ILLEGAL_MS
#define AT_ERROR_ILLEGAL_MS 103
#define AT_ERROR_ILLEGAL_ME 106
#define AT_ERROR_GPRS_NOT_ALLOWED 107
#define AT_ERROR_PLMN_NOT_ALLOWED 111
#define AT_ERROR_LOCATION_AREA_NOT_ALLOWED 112
#define AT_ERROR_ROAMING_NOT_ALLOWED 113
/* Errors related to a failure to activate a context */
#define AT_ERROR_OPTION_NOT_SUPPORTED 132
#define AT_ERROR_OPTION_NOT_SUBSCRIBED 133
#define AT_ERROR_OPTION_TEMPORARILY_OUT_OF_ORDER 134
#define AT_ERROR_PDP_AUTHENTICATION_FAILURE 149
/* Errors related to a failure to disconnect a PDN */
#define AT_ERROR_LAST_PDP_DISCONNECT_NOT_ALLOWED 151
/* Other GPRS errors */
#define AT_ERROR_UNSPECIFIED_GPRS_ERROR 148
#define AT_ERROR_INVALID_MOBILE_CLASS 150
#define AT_ERROR_LAST_GPRS_RELATED_ERROR AT_ERROR_LAST_PDP_DISCONNECT_NOT_ALLOWED
/*
* VBS / VGCS and eMLPP -related errors
* ------------------------------------
*/
#define AT_ERROR_FIRST_VBS_RELATED_ERROR AT_ERROR_NO_SERVICE_SUBSCRIPTION_ON_SIM
/* AT_ERROR_VBS_VGCS_NOT_SUPPORTED=151,*/ /* !!! Conflict with AT_ERROR_LAST_PDP_DISCONNECT_NOT_ALLOWED !!! */
#define AT_ERROR_NO_SERVICE_SUBSCRIPTION_ON_SIM 152
#define AT_ERROR_NO_SUBSCRIPTION_FOR_GROUP_ID 153
#define AT_ERROR_GROUP_ID_NOT_ACTIVATED_ON_SIM 154
#define AT_ERROR_NO_MATCHING_NOTIFICATION 155
#define AT_ERROR_VBS_VGCS_CALL_ALREADY_PRESENT 156
#define AT_ERROR_CONGESTION 157
#define AT_ERROR_NETWORK_FAILURE 158
#define AT_ERROR_UPLINK_BUSY 159
#define AT_ERROR_NO_ACCESS_RIGHTS_FOR_SIM_FILE 160
#define AT_ERROR_NO_SUBSCRIPTION_FOR_PRIORITY 161
#define AT_ERROR_OPERATION_NOT_APPLICABLE_OR_NOT_POSSIBLE 162
#define AT_ERROR_GROUP_ID_PREFIXES_NOT_SUPPORTED 163
#define AT_ERROR_GROUP_ID_PREFIXES_NOT_USABLE_FOR_VBS 164
#define AT_ERROR_GROUP_ID_PREFIX_VALUE_INVALID 165
#define AT_ERROR_LAST_VBS_RELATED_ERROR AT_ERROR_GROUP_ID_PREFIX_VALUE_INVALID
/****************************************************************************/
/************************ G L O B A L T Y P E S ************************/
/****************************************************************************/
/*
* Error type identifiers
*/
typedef enum {
AT_ERROR_NONE, /* No error code displayed */
AT_ERROR_OK, /* AT command successfully processed */
AT_ERROR_SYNTAX, /* AT command syntax error */
AT_ERROR_CME, /* Error related to execution of AT command
* operation */
} at_error_type_t;
/*
* Error code format identifiers
*/
typedef enum {
AT_ERROR_OFF, /* disable result code and use ERROR instead */
AT_ERROR_NUMERIC, /* enable result code and use numeric error values */
AT_ERROR_VERBOSE, /* enable result code and use verbose error values */
} at_error_format_t;
/****************************************************************************/
/******************** G L O B A L V A R I A B L E S ********************/
/****************************************************************************/
/****************************************************************************/
/****************** E X P O R T E D F U N C T I O N S ******************/
/****************************************************************************/
void at_error_set_format(at_error_format_t format);
at_error_format_t at_error_get_format(void);
int at_error_encode(char* buffer, at_error_type_t type, int error);
#endif /* __AT_ERROR_H__*/