FreeRTOS: FreeRTOS Cellular Library v1.2.0
FreeRTOS Cellular Library
cellular_types.h File Reference
#include <stdbool.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  CellularSimCardStatus_t
 SIM Card status. More...
 
struct  CellularPlmnInfo_t
 Public Land Mobile Network (PLMN) information. More...
 
struct  CellularSimCardInfo_t
 SIM Card information. More...
 
struct  CellularModemInfo_t
 Modem information. More...
 
struct  CellularTime_t
 Represents time. More...
 
struct  CellularSignalInfo_t
 Represents signal information. More...
 
struct  CellularServiceStatus_t
 Represents network service status. More...
 
struct  CellularATCommandLine_t
 Represents A singly-lined list of intermediate AT responses. More...
 
struct  CellularATCommandResponse_t
 Represents AT Command response. More...
 
struct  CellularPsmSettings_t
 Represents PSM settings. More...
 
struct  CellularEidrxSettings_t
 Represents e-I-DRX settings. More...
 
struct  CellularEidrxSettingsList_t
 Cellular Represents e-I-DRX settings Lists. More...
 
struct  CellularIPAddress_t
 Represents IP Address. More...
 
struct  CellularPdnConfig_t
 Represents a PDN config. More...
 
struct  CellularPdnStatus_t
 Represents status of a PDN context. More...
 
struct  CellularSocketAddress_t
 Represents socket address. More...
 

Macros

#define CELLULAR_INVALID_SIGNAL_VALUE   ( -32768 )
 Invalid signal value.
 
#define CELLULAR_INVALID_SIGNAL_BAR_VALUE   ( 0xFFU )
 Invalid signal bar value.
 

Typedefs

typedef struct CellularContext CellularContext_t
 Opaque Cellular context structure type.
 
typedef struct CellularContext * CellularHandle_t
 Opaque Cellular handle.
 
typedef struct CellularSocketContext * CellularSocketHandle_t
 Opaque socket handle.
 
typedef CellularPktStatus_t(* CellularATCommandResponseReceivedCallback_t) (CellularHandle_t cellularHandle, const CellularATCommandResponse_t *pAtResp, void *pData, uint16_t dataLen)
 Callback used to inform about the response of an AT command sent using Cellular_ATCommandRaw API. More...
 
typedef void(* CellularUrcNetworkRegistrationCallback_t) (CellularUrcEvent_t urcEvent, const CellularServiceStatus_t *pServiceStatus, void *pCallbackContext)
 Callback used to inform about a Network Registration URC event. More...
 
typedef void(* CellularUrcPdnEventCallback_t) (CellularUrcEvent_t urcEvent, uint8_t contextId, void *pCallbackContext)
 Callback used to inform about PDN URC events. More...
 
typedef void(* CellularUrcSignalStrengthChangedCallback_t) (CellularUrcEvent_t urcEvent, const CellularSignalInfo_t *pSignalInfo, void *pCallbackContext)
 Callback used to inform about signal strength changed URC event. More...
 
typedef void(* CellularUrcGenericCallback_t) (const char *pRawData, void *pCallbackContext)
 Generic callback used to inform all other URC events. More...
 
typedef void(* CellularModemEventCallback_t) (CellularModemEvent_t modemEvent, void *pCallbackContext)
 Callback used to inform about modem events. More...
 
typedef void(* CellularSocketOpenCallback_t) (CellularUrcEvent_t urcEvent, CellularSocketHandle_t socketHandle, void *pCallbackContext)
 Callback used to inform about the status of socket open. More...
 
typedef void(* CellularSocketDataReadyCallback_t) (CellularSocketHandle_t socketHandle, void *pCallbackContext)
 Callback used to inform that data is ready for reading on a socket. More...
 
typedef void(* CellularSocketClosedCallback_t) (CellularSocketHandle_t socketHandle, void *pCallbackContext)
 Callback used to inform that remote end closed the connection for a connected socket. More...
 

Enumerations

enum  CellularError_t {
  CELLULAR_SUCCESS = 0 , CELLULAR_INVALID_HANDLE , CELLULAR_MODEM_NOT_READY , CELLULAR_LIBRARY_NOT_OPEN ,
  CELLULAR_LIBRARY_ALREADY_OPEN , CELLULAR_BAD_PARAMETER , CELLULAR_NO_MEMORY , CELLULAR_TIMEOUT ,
  CELLULAR_SOCKET_CLOSED , CELLULAR_SOCKET_NOT_CONNECTED , CELLULAR_INTERNAL_FAILURE , CELLULAR_RESOURCE_CREATION_FAIL ,
  CELLULAR_UNSUPPORTED , CELLULAR_NOT_ALLOWED , CELLULAR_UNKNOWN
}
 Status code returns from APIs. More...
 
enum  CellularRat_t {
  CELLULAR_RAT_GSM = 0 , CELLULAR_RAT_WCDMA = 2 , CELLULAR_RAT_EDGE = 3 , CELLULAR_RAT_HSDPA = 4 ,
  CELLULAR_RAT_HSUPA = 5 , CELLULAR_RAT_HSDPAHSUPA = 6 , CELLULAR_RAT_LTE = 7 , CELLULAR_RAT_CATM1 = 8 ,
  CELLULAR_RAT_NBIOT = 9 , CELLULAR_RAT_MAX , CELLULAR_RAT_INVALID = 0xFF
}
 Enums representing Radio Access Technologies (RATs). Reference 3GPP TS 27.007 PLMN selection +COPS. More...
 
enum  CellularSimCardState_t { CELLULAR_SIM_CARD_REMOVED = 0 , CELLULAR_SIM_CARD_INSERTED , CELLULAR_SIM_CARD_STATUS_MAX , CELLULAR_SIM_CARD_UNKNOWN }
 SIM card state codes. More...
 
enum  CellularSimCardLockState_t {
  CELLULAR_SIM_CARD_READY = 0 , CELLULAR_SIM_CARD_PIN , CELLULAR_SIM_CARD_PUK , CELLULAR_SIM_CARD_PIN2 ,
  CELLULAR_SIM_CARD_PUK2 , CELLULAR_SIM_CARD_PH_NET_PIN , CELLULAR_SIM_CARD_PH_NET_PUK , CELLULAR_SIM_CARD_PH_NETSUB_PIN ,
  CELLULAR_SIM_CARD_PH_NETSUB_PUK , CELLULAR_SIM_CARD_SP_PIN , CELLULAR_SIM_CARD_SP_PUK , CELLULAR_SIM_CARD_CORP_PIN ,
  CELLULAR_SIM_CARD_CORP_PUK , CELLULAR_SIM_CARD_IMSI_PIN , CELLULAR_SIM_CARD_IMSI_PUK , CELLULAR_SIM_CARD_INVALID ,
  CELLULAR_SIM_CARD_LOCK_UNKNOWN
}
 SIM card lock state codes. Reference 3GPP TS 27.007 Enter PIN +CPIN. More...
 
enum  CellularNetworkRegistrationMode_t {
  REGISTRATION_MODE_AUTO = 0 , REGISTRATION_MODE_MANUAL = 1 , REGISTRATION_MODE_DEREGISTER = 2 , REGISTRATION_MODE_MANUAL_THEN_AUTO = 4 ,
  REGISTRATION_MODE_MAX , REGISTRATION_MODE_UNKNOWN
}
 Represents network registration mode. Reference 3GPP TS 27.007 PLMN selection +COPS. More...
 
enum  CellularNetworkRegistrationStatus_t {
  REGISTRATION_STATUS_NO_REGISTERED_SEARCHING = 0 , REGISTRATION_STATUS_REGISTERED_HOME = 1 , REGISTRATION_STATUS_NOT_REGISTERED_SEARCHING = 2 , REGISTRATION_STATUS_REGISTRATION_DENIED = 3 ,
  REGISTRATION_STATUS_UNKNOWN = 4 , REGISTRATION_STATUS_ROAMING_REGISTERED = 5 , REGISTRATION_STATUS_HOME_SMS_ONLY_REGISTERED = 6 , REGISTRATION_STATUS_SMS_ONLY_ROAMING_REGISTERED = 7 ,
  REGISTRATION_STATUS_ATTACHED_EMERG_SERVICES_ONLY = 8 , REGISTRATION_STATUS_MAX
}
 Represents network registration status. Reference 3GPP TS 27.007 network registration status. More...
 
enum  CellularOperatorNameFormat_t {
  OPERATOR_NAME_FORMAT_LONG = 0 , OPERATOR_NAME_FORMAT_SHORT = 1 , OPERATOR_NAME_FORMAT_NUMERIC = 2 , OPERATOR_NAME_FORMAT_NOT_PRESENT = 9 ,
  OPERATOR_NAME_FORMAT_MAX
}
 Represents operator name format. More...
 
enum  CellularUrcEvent_t {
  CELLULAR_URC_EVENT_NETWORK_CS_REGISTRATION , CELLULAR_URC_EVENT_NETWORK_PS_REGISTRATION , CELLULAR_URC_EVENT_PDN_ACTIVATED , CELLULAR_URC_EVENT_PDN_DEACTIVATED ,
  CELLULAR_URC_EVENT_SIGNAL_CHANGED , CELLULAR_URC_SOCKET_OPENED , CELLULAR_URC_SOCKET_OPEN_FAILED , CELLULAR_URC_EVENT_OTHER
}
 Represents URC events. More...
 
enum  CellularModemEvent_t { CELLULAR_MODEM_EVENT_BOOTUP_OR_REBOOT , CELLULAR_MODEM_EVENT_POWERED_DOWN , CELLULAR_MODEM_EVENT_PSM_ENTER }
 Represents Modem events. More...
 
enum  CellularPdnContextType_t { CELLULAR_PDN_CONTEXT_IPV4 = 1 , CELLULAR_PDN_CONTEXT_IPV6 = 2 , CELLULAR_PDN_CONTEXT_IPV4V6 = 3 , CELLULAR_PDN_CONTEXT_TYPE_MAX }
 Represents PDN context type. More...
 
enum  CellularPdnAuthType_t { CELLULAR_PDN_AUTH_NONE = 0 , CELLULAR_PDN_AUTH_PAP , CELLULAR_PDN_AUTH_CHAP , CELLULAR_PDN_AUTH_PAP_OR_CHAP }
 Represents PDN authentication type. More...
 
enum  CellularSocketDomain_t { CELLULAR_SOCKET_DOMAIN_AF_INET , CELLULAR_SOCKET_DOMAIN_AF_INET6 }
 Represents socket domain. More...
 
enum  CellularSocketType_t { CELLULAR_SOCKET_TYPE_DGRAM , CELLULAR_SOCKET_TYPE_STREAM }
 Represents socket type. More...
 
enum  CellularSocketProtocol_t { CELLULAR_SOCKET_PROTOCOL_UDP , CELLULAR_SOCKET_PROTOCOL_TCP }
 Represents socket protocol.
 
enum  CellularSocketAccessMode_t { CELLULAR_ACCESSMODE_BUFFER = 0 , CELLULAR_ACCESSMODE_DIRECT_PUSH , CELLULAR_ACCESSMODE_TRANSPARENT , CELLULAR_ACCESSMODE_NOT_SET }
 Represents data access modes.
 
enum  CellularIPAddressType_t { CELLULAR_IP_ADDRESS_V4 , CELLULAR_IP_ADDRESS_V6 }
 Represents IP address. More...
 
enum  CellularSocketOptionLevel_t { CELLULAR_SOCKET_OPTION_LEVEL_IP , CELLULAR_SOCKET_OPTION_LEVEL_TRANSPORT }
 Represents socket option level. More...
 
enum  CellularSocketOption_t { CELLULAR_SOCKET_OPTION_MAX_IP_PACKET_SIZE , CELLULAR_SOCKET_OPTION_SEND_TIMEOUT , CELLULAR_SOCKET_OPTION_RECV_TIMEOUT , CELLULAR_SOCKET_OPTION_PDN_CONTEXT_ID }
 Socket option names. More...
 
enum  CellularPktStatus_t {
  CELLULAR_PKT_STATUS_OK = 0 , CELLULAR_PKT_STATUS_TIMED_OUT , CELLULAR_PKT_STATUS_FAILURE , CELLULAR_PKT_STATUS_BAD_REQUEST ,
  CELLULAR_PKT_STATUS_BAD_RESPONSE , CELLULAR_PKT_STATUS_SIZE_MISMATCH , CELLULAR_PKT_STATUS_BAD_PARAM , CELLULAR_PKT_STATUS_SEND_ERROR ,
  CELLULAR_PKT_STATUS_INVALID_HANDLE , CELLULAR_PKT_STATUS_CREATION_FAIL , CELLULAR_PKT_STATUS_PREFIX_MISMATCH , CELLULAR_PKT_STATUS_INVALID_DATA ,
  CELLULAR_PKT_STATUS_PENDING_DATA , CELLULAR_PKT_STATUS_PENDING_BUFFER
}
 packet Status Names.
 
enum  CellularATCommandType_t {
  CELLULAR_AT_NO_RESULT , CELLULAR_AT_WO_PREFIX , CELLULAR_AT_WITH_PREFIX , CELLULAR_AT_MULTI_WITH_PREFIX ,
  CELLULAR_AT_MULTI_WO_PREFIX , CELLULAR_AT_MULTI_DATA_WO_PREFIX , CELLULAR_AT_NO_COMMAND
}
 Represents AT Command type. More...