FreeRTOS: FreeRTOS Cellular Library v1.2.0
FreeRTOS Cellular Library
cellular_types.h
Go to the documentation of this file.
1/*
2 * FreeRTOS-Cellular-Interface v1.2.0
3 * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining a copy of
6 * this software and associated documentation files (the "Software"), to deal in
7 * the Software without restriction, including without limitation the rights to
8 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 * the Software, and to permit persons to whom the Software is furnished to do so,
10 * subject to the following conditions:
11 *
12 * The above copyright notice and this permission notice shall be included in all
13 * copies or substantial portions of the Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * https://www.FreeRTOS.org
23 * https://github.com/FreeRTOS
24 */
25
30#ifndef __CELLULAR_TYPES_H__
31#define __CELLULAR_TYPES_H__
32
33/* *INDENT-OFF* */
34#ifdef __cplusplus
35 extern "C" {
36#endif
37/* *INDENT-ON* */
38
39/* Includes for standard bool and int. */
40#include <stdbool.h>
41#include <stdint.h>
42
47#define CELLULAR_INVALID_SIGNAL_VALUE ( -32768 )
48
53#define CELLULAR_INVALID_SIGNAL_BAR_VALUE ( 0xFFU )
54
59struct CellularContext;
60
65typedef struct CellularContext CellularContext_t;
66
71typedef struct CellularContext * CellularHandle_t;
72
73struct CellularSocketContext;
74
79typedef struct CellularSocketContext * CellularSocketHandle_t;
80
85typedef enum CellularError
86{
103
108typedef enum CellularRat
109{
122
127typedef enum CellularSimCardState
128{
134
139typedef enum CellularSimCardLockState
140{
159
164typedef enum CellularNetworkRegistrationMode
165{
173
178typedef enum CellularNetworkRegistrationStatus
179{
191
196typedef enum CellularOperatorNameFormat
197{
204
209typedef enum CellularUrcEvent
210{
220
225typedef enum CellularModemEvent
226{
231
236typedef enum CellularPdnContextType
237{
243
248typedef enum CellularPdnAuthType
249{
255
260typedef enum CellularSocketDomain
261{
265
270typedef enum CellularSocketType
271{
275
280typedef enum CellularSocketProtocol
281{
282 CELLULAR_SOCKET_PROTOCOL_UDP,
283 CELLULAR_SOCKET_PROTOCOL_TCP
285
290typedef enum CellularSocketAccessMode
291{
292 CELLULAR_ACCESSMODE_BUFFER = 0, /* Data access buffer mode. */
293 CELLULAR_ACCESSMODE_DIRECT_PUSH, /* Data access direct push mode. */
294 CELLULAR_ACCESSMODE_TRANSPARENT, /* Data access transparent mode. */
295 CELLULAR_ACCESSMODE_NOT_SET /* Data access not set. */
297
302typedef enum CellularIPAddressType
303{
307
312typedef enum CellularSocketOptionLevel
313{
317
322typedef enum CellularSocketOption
323{
329
334typedef enum CellularPktStatus
335{
336 CELLULAR_PKT_STATUS_OK = 0, /* The operation was successful. */
337 CELLULAR_PKT_STATUS_TIMED_OUT, /* The operation timed out. */
338 CELLULAR_PKT_STATUS_FAILURE, /* There was some internal failure. */
339 CELLULAR_PKT_STATUS_BAD_REQUEST, /* Request was not valid. */
340 CELLULAR_PKT_STATUS_BAD_RESPONSE, /* The response received was not valid. */
341 CELLULAR_PKT_STATUS_SIZE_MISMATCH, /* There is a size mismatch between the params. */
342 CELLULAR_PKT_STATUS_BAD_PARAM, /* One or more params is not valid. */
343 CELLULAR_PKT_STATUS_SEND_ERROR, /* Modem returned a send error. */
344 CELLULAR_PKT_STATUS_INVALID_HANDLE, /* Invalid context. */
345 CELLULAR_PKT_STATUS_CREATION_FAIL, /* Resource creation fail. */
346 CELLULAR_PKT_STATUS_PREFIX_MISMATCH, /* Invalid prefix from Modem resp. */
347 CELLULAR_PKT_STATUS_INVALID_DATA, /* Invalid data from Modem resp. */
348 CELLULAR_PKT_STATUS_PENDING_DATA, /* Pending data from Modem resp. */
349 CELLULAR_PKT_STATUS_PENDING_BUFFER /* Pending data from Modem resp. */
351
356typedef enum CellularATCommandType
357{
366
371typedef struct CellularSimCardStatus
372{
376
381typedef struct CellularPlmnInfo
382{
383 char mcc[ CELLULAR_MCC_MAX_SIZE + 1 ];
384 char mnc[ CELLULAR_MNC_MAX_SIZE + 1 ];
386
391typedef struct CellularSimCardInfo
392{
393 char iccid[ CELLULAR_ICCID_MAX_SIZE + 1 ];
394 char imsi[ CELLULAR_IMSI_MAX_SIZE + 1 ];
397
402typedef struct CellularModemInfo
403{
404 char hardwareVersion[ CELLULAR_HW_VERSION_MAX_SIZE + 1 ];
405 char firmwareVersion[ CELLULAR_FW_VERSION_MAX_SIZE + 1 ];
406 char serialNumber[ CELLULAR_SERIAL_NUM_MAX_SIZE + 1 ];
407 char imei[ CELLULAR_IMEI_MAX_SIZE + 1 ];
408 char manufactureId[ CELLULAR_MANUFACTURE_ID_MAX_SIZE + 1 ];
409 char modelId[ CELLULAR_MODEL_ID_MAX_SIZE + 1 ];
411
416typedef struct CellularTime
417{
418 uint8_t month;
419 uint8_t day;
420 uint8_t hour;
421 uint8_t minute;
422 uint8_t second;
423 uint16_t year;
424 int32_t timeZone;
425 uint8_t dst;
429
434typedef struct CellularSignalInfo
435{
436 int16_t rssi;
437 int16_t rsrp;
438 int16_t rsrq;
439 int16_t sinr;
440 int16_t ber;
441 uint8_t bars;
443
448typedef struct CellularServiceStatus
449{
456 char operatorName[ CELLULAR_NETWORK_NAME_MAX_SIZE + 1 ];
462
467typedef struct CellularATCommandLine
468{
469 struct CellularATCommandLine * pNext;
470 char * pLine;
472
477typedef struct CellularATCommandResponse
478{
479 bool status;
482
487typedef struct CellularPsmSettings
488{
489 /*
490 * 0 = PSM Disable
491 * 1 = PSM Enable.
492 */
493 uint8_t mode;
495 /*
496 * Bits 5 to 1 represent the binary coded timer value
497 * Bits 6 to 8 define the timer value unit as follows:
498 * Bits
499 * 8 7 6
500 * 0 0 0 value is incremented in multiples of 10 minutes
501 * 0 0 1 value is incremented in multiples of 1 hour
502 * 0 1 0 value is incremented in multiples of 10 hours
503 * 0 1 1 value is incremented in multiples of 2 seconds
504 * 1 0 0 value is incremented in multiples of 30 seconds
505 * 1 0 1 value is incremented in multiples of 1 minute
506 *
507 * e.g. "00001010" equals to 100 minutes.
508 * first uint8_t is used for PSM set, whole uint32_t is used for PSM get.
509 */
512 /*
513 * Bits 5 to 1 represent the binary coded timer value
514 * Bits 6 to 8 define the timer value unit as follows:
515 * Bits
516 * 8 7 6
517 * 0 0 0 value is incremented in multiples of 10 minutes
518 * 0 0 1 value is incremented in multiples of 1 hour
519 * 0 1 0 value is incremented in multiples of 10 hours
520 * 0 1 1 value is incremented in multiples of 2 seconds
521 * 1 0 0 value is incremented in multiples of 30 seconds
522 * 1 0 1 value is incremented in multiples of 1 minute
523 *
524 * e.g. "00001010" equals to 100 minutes.
525 * first uint8_t is used for PSM set, whole uint32_t is used for PSM get.
526 */
529 /*
530 * Bits 5 to 1 represent the binary coded timer value
531 * Bits 6 to 8 define the timer value unit as follows:
532 * Bits
533 * 8 7 6
534 * 0 0 0 value is incremented in multiples of 10 minutes
535 * 0 0 1 value is incremented in multiples of 1 hour
536 * 0 1 0 value is incremented in multiples of 10 hours
537 * 0 1 1 value is incremented in multiples of 2 seconds
538 * 1 0 0 value is incremented in multiples of 30 seconds
539 * 1 0 1 value is incremented in multiples of 1 minute
540 *
541 * e.g. "00001010" equals to 100 minutes.
542 * first uint8_t is used for PSM set, whole uint32_t is used for PSM get.
543 */
544 uint32_t gprsReadyTimer;
546 /*
547 * Bits 5 to 1 represent the binary coded timer value.
548 * Bits 6 to 8 define the timer value unit as follows:
549 * Bits
550 * 8 7 6
551 * 0 0 0 value is incremented in multiples of 2 seconds
552 * 0 0 1 value is incremented in multiples of 1 minute
553 * 0 1 0 value is incremented in multiples of decihours
554 * 1 1 1 value indicates that the timer is deactivated.
555 *
556 * "00001111" equals to 30 seconds.
557 * first uint8_t is used for PSM set, whole uint32_t is used for PSM get.
558 */
561
566typedef struct CellularEidrxSettings
567{
568 /*
569 * 0 Disable the use of e-I-DRX
570 * 1 Enable the use of e-I-DRX
571 * 2 Enable the use of e-I-DRX and enable the unsolicited result code
572 * 3 Disable the use of e-I-DRX and discard all parameters for e-I-DRX or,
573 * if available, reset to the manufacturer specific default values.
574 */
575 uint8_t mode;
577 /*
578 * 2 GSM
579 * 3 UTRAN
580 * 4 LTE Cat M1
581 * 5 LTE Cat NB1
582 */
583 uint8_t rat;
585 /*
586 * String type. Half a byte in a 4 bit format.
587 * bit
588 * 4 3 2 1 E-UTRAN e-I-DRX cycle length duration
589 * 0 0 0 0 5.12 seconds
590 * 0 0 0 1 10.24 seconds
591 * 0 0 1 0 20.48 seconds
592 * 0 0 1 1 40.96 seconds
593 * 0 1 0 0 61.44 seconds
594 * 0 1 0 1 81.92 seconds
595 * 0 1 1 0 102.4 seconds
596 * 0 1 1 1 122.88 seconds
597 * 1 0 0 0 143.36 seconds
598 * 1 0 0 1 163.84 seconds
599 * 1 0 1 0 327.68 seconds
600 * 1 0 1 1 655,36 seconds
601 * 1 1 0 0 1310.72 seconds
602 * 1 1 0 1 2621.44 seconds
603 * 1 1 1 0 5242.88 seconds
604 * 1 1 1 1 10485.76 seconds
605 */
609 /*
610 * LTE Cat M1 mode
611 * bit
612 * 4 3 2 1 Paging Time Window length
613 * 0 0 0 0 1.28 seconds
614 * 0 0 0 1 2.56 seconds
615 * 0 0 1 0 3.84 seconds
616 * 0 0 1 1 5.12 seconds
617 * 0 1 0 0 6.4 seconds
618 * 0 1 0 1 7.68 seconds
619 * 0 1 1 0 8.96 seconds
620 * 0 1 1 1 10.24 seconds
621 * 1 0 0 0 11.52 seconds
622 * 1 0 0 1 12.8 seconds
623 * 1 0 1 0 14.08 seconds
624 * 1 0 1 1 15.36 seconds
625 * 1 1 0 0 16.64 seconds
626 * 1 1 0 1 17.92 seconds
627 * 1 1 1 0 19.20 seconds
628 * 1 1 1 1 20.48 seconds
629 *
630 * LTE Cat NB1 mode
631 * bit
632 * 4 3 2 1 Paging Time Window length
633 * 0 0 0 0 2.56 seconds
634 * 0 0 0 1 5.12 seconds
635 * 0 0 1 0 7.68 seconds
636 * 0 0 1 1 10.24 seconds
637 * 0 1 0 0 12.8 seconds
638 * 0 1 0 1 15.36 seconds
639 * 0 1 1 0 17.92 seconds
640 * 0 1 1 1 20.48 seconds
641 * 1 0 0 0 23.04 seconds
642 * 1 0 0 1 25.6 seconds
643 * 1 0 1 0 28.16 seconds
644 * 1 0 1 1 30.72 seconds
645 * 1 1 0 0 33.28 seconds
646 * 1 1 0 1 35.84 seconds
647 * 1 1 1 0 38.4 seconds
648 * 1 1 1 1 40.96 seconds
649 */
652
657typedef struct CellularEidrxSettingsList
658{
660 uint8_t count;
662
667typedef struct CellularIPAddress
668{
670 char ipAddress[ CELLULAR_IP_ADDRESS_MAX_SIZE + 1 ];
672
677typedef struct CellularPdnConfig
678{
681 const char apnName[ CELLULAR_APN_MAX_SIZE + 1 ];
682 const char username[ CELLULAR_PDN_USERNAME_MAX_SIZE + 1 ];
683 const char password[ CELLULAR_PDN_PASSWORD_MAX_SIZE + 1 ];
685
690typedef struct CellularPdnStatus
691{
692 uint8_t contextId;
693 uint8_t state;
697
702typedef struct CellularSocketAddress
703{
705 uint16_t port;
707
722 const CellularATCommandResponse_t * pAtResp,
723 void * pData,
724 uint16_t dataLen );
725
736 const CellularServiceStatus_t * pServiceStatus,
737 void * pCallbackContext );
738
749 uint8_t contextId,
750 void * pCallbackContext );
751
762 const CellularSignalInfo_t * pSignalInfo,
763 void * pCallbackContext );
764
773typedef void ( * CellularUrcGenericCallback_t )( const char * pRawData,
774 void * pCallbackContext );
775
785 void * pCallbackContext );
786
797 CellularSocketHandle_t socketHandle,
798 void * pCallbackContext );
799
809 void * pCallbackContext );
810
822 void * pCallbackContext );
823
824/* *INDENT-OFF* */
825#ifdef __cplusplus
826 }
827#endif
828/* *INDENT-ON* */
829
830#endif /* __CELLULAR_TYPES_H__ */
#define CELLULAR_MODEL_ID_MAX_SIZE
Cellular module ID max size.
Definition: cellular_config_defaults.h:231
#define CELLULAR_IMSI_MAX_SIZE
International Mobile Subscriber Identity max size.
Definition: cellular_config_defaults.h:101
#define CELLULAR_FW_VERSION_MAX_SIZE
Cellular module firmware version max size.
Definition: cellular_config_defaults.h:111
#define CELLULAR_PDN_USERNAME_MAX_SIZE
Packet data network username max size.
Definition: cellular_config_defaults.h:171
#define CELLULAR_IP_ADDRESS_MAX_SIZE
Cellular data network IP address max size.
Definition: cellular_config_defaults.h:191
#define CELLULAR_EDRX_LIST_MAX_SIZE
Cellular EDRX list max size.
Definition: cellular_config_defaults.h:241
#define CELLULAR_PDN_PASSWORD_MAX_SIZE
Packet data network password max size.
Definition: cellular_config_defaults.h:181
#define CELLULAR_ICCID_MAX_SIZE
Integrate circuit card identity max size.
Definition: cellular_config_defaults.h:91
#define CELLULAR_MNC_MAX_SIZE
Mobile network code max size.
Definition: cellular_config_defaults.h:81
#define CELLULAR_APN_MAX_SIZE
Access point name max size.
Definition: cellular_config_defaults.h:161
#define CELLULAR_MCC_MAX_SIZE
Mobile country code max size.
Definition: cellular_config_defaults.h:71
#define CELLULAR_IMEI_MAX_SIZE
International Mobile Equipment Identity number max size.
Definition: cellular_config_defaults.h:141
#define CELLULAR_MANUFACTURE_ID_MAX_SIZE
Cellular module manufacture ID max size.
Definition: cellular_config_defaults.h:221
#define CELLULAR_NETWORK_NAME_MAX_SIZE
Registered network operator name max size.
Definition: cellular_config_defaults.h:151
#define CELLULAR_SERIAL_NUM_MAX_SIZE
Cellular module serial number max size.
Definition: cellular_config_defaults.h:131
#define CELLULAR_HW_VERSION_MAX_SIZE
Cellular module hardware version max size.
Definition: cellular_config_defaults.h:121
CellularUrcEvent_t
Represents URC events.
Definition: cellular_types.h:210
CellularNetworkRegistrationStatus_t
Represents network registration status. Reference 3GPP TS 27.007 network registration status.
Definition: cellular_types.h:179
CellularPktStatus_t
packet Status Names.
Definition: cellular_types.h:335
CellularATCommandType_t
Represents AT Command type.
Definition: cellular_types.h:357
CellularPdnAuthType_t
Represents PDN authentication type.
Definition: cellular_types.h:249
CellularSocketType_t
Represents socket type.
Definition: cellular_types.h:271
CellularSimCardLockState_t
SIM card lock state codes. Reference 3GPP TS 27.007 Enter PIN +CPIN.
Definition: cellular_types.h:140
CellularNetworkRegistrationMode_t
Represents network registration mode. Reference 3GPP TS 27.007 PLMN selection +COPS.
Definition: cellular_types.h:165
CellularSocketOption_t
Socket option names.
Definition: cellular_types.h:323
CellularSocketAccessMode_t
Represents data access modes.
Definition: cellular_types.h:291
CellularIPAddressType_t
Represents IP address.
Definition: cellular_types.h:303
CellularRat_t
Enums representing Radio Access Technologies (RATs). Reference 3GPP TS 27.007 PLMN selection +COPS.
Definition: cellular_types.h:109
CellularSocketOptionLevel_t
Represents socket option level.
Definition: cellular_types.h:313
CellularSimCardState_t
SIM card state codes.
Definition: cellular_types.h:128
CellularError_t
Status code returns from APIs.
Definition: cellular_types.h:86
CellularPdnContextType_t
Represents PDN context type.
Definition: cellular_types.h:237
CellularSocketDomain_t
Represents socket domain.
Definition: cellular_types.h:261
CellularSocketProtocol_t
Represents socket protocol.
Definition: cellular_types.h:281
CellularModemEvent_t
Represents Modem events.
Definition: cellular_types.h:226
CellularOperatorNameFormat_t
Represents operator name format.
Definition: cellular_types.h:197
@ CELLULAR_URC_EVENT_PDN_ACTIVATED
Definition: cellular_types.h:213
@ CELLULAR_URC_EVENT_SIGNAL_CHANGED
Definition: cellular_types.h:215
@ CELLULAR_URC_EVENT_PDN_DEACTIVATED
Definition: cellular_types.h:214
@ CELLULAR_URC_EVENT_NETWORK_CS_REGISTRATION
Definition: cellular_types.h:211
@ CELLULAR_URC_EVENT_OTHER
Definition: cellular_types.h:218
@ CELLULAR_URC_SOCKET_OPENED
Definition: cellular_types.h:216
@ CELLULAR_URC_SOCKET_OPEN_FAILED
Definition: cellular_types.h:217
@ CELLULAR_URC_EVENT_NETWORK_PS_REGISTRATION
Definition: cellular_types.h:212
@ REGISTRATION_STATUS_REGISTRATION_DENIED
Definition: cellular_types.h:183
@ REGISTRATION_STATUS_ROAMING_REGISTERED
Definition: cellular_types.h:185
@ REGISTRATION_STATUS_HOME_SMS_ONLY_REGISTERED
Definition: cellular_types.h:186
@ REGISTRATION_STATUS_NO_REGISTERED_SEARCHING
Definition: cellular_types.h:180
@ REGISTRATION_STATUS_NOT_REGISTERED_SEARCHING
Definition: cellular_types.h:182
@ REGISTRATION_STATUS_SMS_ONLY_ROAMING_REGISTERED
Definition: cellular_types.h:187
@ REGISTRATION_STATUS_UNKNOWN
Definition: cellular_types.h:184
@ REGISTRATION_STATUS_MAX
Definition: cellular_types.h:189
@ REGISTRATION_STATUS_ATTACHED_EMERG_SERVICES_ONLY
Definition: cellular_types.h:188
@ REGISTRATION_STATUS_REGISTERED_HOME
Definition: cellular_types.h:181
@ CELLULAR_AT_NO_RESULT
Definition: cellular_types.h:358
@ CELLULAR_AT_WITH_PREFIX
Definition: cellular_types.h:360
@ CELLULAR_AT_WO_PREFIX
Definition: cellular_types.h:359
@ CELLULAR_AT_MULTI_WO_PREFIX
Definition: cellular_types.h:362
@ CELLULAR_AT_MULTI_WITH_PREFIX
Definition: cellular_types.h:361
@ CELLULAR_AT_MULTI_DATA_WO_PREFIX
Definition: cellular_types.h:363
@ CELLULAR_AT_NO_COMMAND
Definition: cellular_types.h:364
@ CELLULAR_PDN_AUTH_PAP_OR_CHAP
Definition: cellular_types.h:253
@ CELLULAR_PDN_AUTH_NONE
Definition: cellular_types.h:250
@ CELLULAR_PDN_AUTH_PAP
Definition: cellular_types.h:251
@ CELLULAR_PDN_AUTH_CHAP
Definition: cellular_types.h:252
@ CELLULAR_SOCKET_TYPE_DGRAM
Definition: cellular_types.h:272
@ CELLULAR_SOCKET_TYPE_STREAM
Definition: cellular_types.h:273
@ CELLULAR_SIM_CARD_INVALID
Definition: cellular_types.h:156
@ CELLULAR_SIM_CARD_CORP_PIN
Definition: cellular_types.h:152
@ CELLULAR_SIM_CARD_PH_NETSUB_PIN
Definition: cellular_types.h:148
@ CELLULAR_SIM_CARD_PUK
Definition: cellular_types.h:143
@ CELLULAR_SIM_CARD_LOCK_UNKNOWN
Definition: cellular_types.h:157
@ CELLULAR_SIM_CARD_PH_NETSUB_PUK
Definition: cellular_types.h:149
@ CELLULAR_SIM_CARD_CORP_PUK
Definition: cellular_types.h:153
@ CELLULAR_SIM_CARD_PIN2
Definition: cellular_types.h:144
@ CELLULAR_SIM_CARD_PH_NET_PIN
Definition: cellular_types.h:146
@ CELLULAR_SIM_CARD_IMSI_PUK
Definition: cellular_types.h:155
@ CELLULAR_SIM_CARD_PIN
Definition: cellular_types.h:142
@ CELLULAR_SIM_CARD_IMSI_PIN
Definition: cellular_types.h:154
@ CELLULAR_SIM_CARD_PUK2
Definition: cellular_types.h:145
@ CELLULAR_SIM_CARD_SP_PUK
Definition: cellular_types.h:151
@ CELLULAR_SIM_CARD_PH_NET_PUK
Definition: cellular_types.h:147
@ CELLULAR_SIM_CARD_SP_PIN
Definition: cellular_types.h:150
@ CELLULAR_SIM_CARD_READY
Definition: cellular_types.h:141
@ REGISTRATION_MODE_MAX
Definition: cellular_types.h:170
@ REGISTRATION_MODE_MANUAL_THEN_AUTO
Definition: cellular_types.h:169
@ REGISTRATION_MODE_MANUAL
Definition: cellular_types.h:167
@ REGISTRATION_MODE_UNKNOWN
Definition: cellular_types.h:171
@ REGISTRATION_MODE_DEREGISTER
Definition: cellular_types.h:168
@ REGISTRATION_MODE_AUTO
Definition: cellular_types.h:166
@ CELLULAR_SOCKET_OPTION_PDN_CONTEXT_ID
Definition: cellular_types.h:327
@ CELLULAR_SOCKET_OPTION_MAX_IP_PACKET_SIZE
Definition: cellular_types.h:324
@ CELLULAR_SOCKET_OPTION_RECV_TIMEOUT
Definition: cellular_types.h:326
@ CELLULAR_SOCKET_OPTION_SEND_TIMEOUT
Definition: cellular_types.h:325
@ CELLULAR_IP_ADDRESS_V4
Definition: cellular_types.h:304
@ CELLULAR_IP_ADDRESS_V6
Definition: cellular_types.h:305
@ CELLULAR_RAT_EDGE
Definition: cellular_types.h:112
@ CELLULAR_RAT_GSM
Definition: cellular_types.h:110
@ CELLULAR_RAT_HSDPA
Definition: cellular_types.h:113
@ CELLULAR_RAT_WCDMA
Definition: cellular_types.h:111
@ CELLULAR_RAT_HSUPA
Definition: cellular_types.h:114
@ CELLULAR_RAT_LTE
Definition: cellular_types.h:116
@ CELLULAR_RAT_HSDPAHSUPA
Definition: cellular_types.h:115
@ CELLULAR_RAT_CATM1
Definition: cellular_types.h:117
@ CELLULAR_RAT_NBIOT
Definition: cellular_types.h:118
@ CELLULAR_RAT_MAX
Definition: cellular_types.h:119
@ CELLULAR_RAT_INVALID
Definition: cellular_types.h:120
@ CELLULAR_SOCKET_OPTION_LEVEL_TRANSPORT
Definition: cellular_types.h:315
@ CELLULAR_SOCKET_OPTION_LEVEL_IP
Definition: cellular_types.h:314
@ CELLULAR_SIM_CARD_REMOVED
Definition: cellular_types.h:129
@ CELLULAR_SIM_CARD_INSERTED
Definition: cellular_types.h:130
@ CELLULAR_SIM_CARD_STATUS_MAX
Definition: cellular_types.h:131
@ CELLULAR_SIM_CARD_UNKNOWN
Definition: cellular_types.h:132
@ CELLULAR_NO_MEMORY
Definition: cellular_types.h:93
@ CELLULAR_LIBRARY_ALREADY_OPEN
Definition: cellular_types.h:91
@ CELLULAR_INVALID_HANDLE
Definition: cellular_types.h:88
@ CELLULAR_TIMEOUT
Definition: cellular_types.h:94
@ CELLULAR_NOT_ALLOWED
Definition: cellular_types.h:100
@ CELLULAR_RESOURCE_CREATION_FAIL
Definition: cellular_types.h:98
@ CELLULAR_BAD_PARAMETER
Definition: cellular_types.h:92
@ CELLULAR_SOCKET_CLOSED
Definition: cellular_types.h:95
@ CELLULAR_LIBRARY_NOT_OPEN
Definition: cellular_types.h:90
@ CELLULAR_UNSUPPORTED
Definition: cellular_types.h:99
@ CELLULAR_UNKNOWN
Definition: cellular_types.h:101
@ CELLULAR_SOCKET_NOT_CONNECTED
Definition: cellular_types.h:96
@ CELLULAR_INTERNAL_FAILURE
Definition: cellular_types.h:97
@ CELLULAR_SUCCESS
Definition: cellular_types.h:87
@ CELLULAR_MODEM_NOT_READY
Definition: cellular_types.h:89
@ CELLULAR_PDN_CONTEXT_IPV4V6
Definition: cellular_types.h:240
@ CELLULAR_PDN_CONTEXT_IPV4
Definition: cellular_types.h:238
@ CELLULAR_PDN_CONTEXT_IPV6
Definition: cellular_types.h:239
@ CELLULAR_PDN_CONTEXT_TYPE_MAX
Definition: cellular_types.h:241
@ CELLULAR_SOCKET_DOMAIN_AF_INET6
Definition: cellular_types.h:263
@ CELLULAR_SOCKET_DOMAIN_AF_INET
Definition: cellular_types.h:262
@ CELLULAR_MODEM_EVENT_BOOTUP_OR_REBOOT
Definition: cellular_types.h:227
@ CELLULAR_MODEM_EVENT_POWERED_DOWN
Definition: cellular_types.h:228
@ CELLULAR_MODEM_EVENT_PSM_ENTER
Definition: cellular_types.h:229
@ OPERATOR_NAME_FORMAT_MAX
Definition: cellular_types.h:202
@ OPERATOR_NAME_FORMAT_SHORT
Definition: cellular_types.h:199
@ OPERATOR_NAME_FORMAT_NUMERIC
Definition: cellular_types.h:200
@ OPERATOR_NAME_FORMAT_LONG
Definition: cellular_types.h:198
@ OPERATOR_NAME_FORMAT_NOT_PRESENT
Definition: cellular_types.h:201
void(* CellularModemEventCallback_t)(CellularModemEvent_t modemEvent, void *pCallbackContext)
Callback used to inform about modem events.
Definition: cellular_types.h:784
void(* CellularUrcSignalStrengthChangedCallback_t)(CellularUrcEvent_t urcEvent, const CellularSignalInfo_t *pSignalInfo, void *pCallbackContext)
Callback used to inform about signal strength changed URC event.
Definition: cellular_types.h:761
void(* CellularSocketClosedCallback_t)(CellularSocketHandle_t socketHandle, void *pCallbackContext)
Callback used to inform that remote end closed the connection for a connected socket.
Definition: cellular_types.h:821
void(* CellularUrcPdnEventCallback_t)(CellularUrcEvent_t urcEvent, uint8_t contextId, void *pCallbackContext)
Callback used to inform about PDN URC events.
Definition: cellular_types.h:748
void(* CellularUrcNetworkRegistrationCallback_t)(CellularUrcEvent_t urcEvent, const CellularServiceStatus_t *pServiceStatus, void *pCallbackContext)
Callback used to inform about a Network Registration URC event.
Definition: cellular_types.h:735
void(* CellularSocketDataReadyCallback_t)(CellularSocketHandle_t socketHandle, void *pCallbackContext)
Callback used to inform that data is ready for reading on a socket.
Definition: cellular_types.h:808
void(* CellularSocketOpenCallback_t)(CellularUrcEvent_t urcEvent, CellularSocketHandle_t socketHandle, void *pCallbackContext)
Callback used to inform about the status of socket open.
Definition: cellular_types.h:796
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.
Definition: cellular_types.h:721
void(* CellularUrcGenericCallback_t)(const char *pRawData, void *pCallbackContext)
Generic callback used to inform all other URC events.
Definition: cellular_types.h:773
struct CellularSocketContext * CellularSocketHandle_t
Opaque socket handle.
Definition: cellular_types.h:79
struct CellularContext CellularContext_t
Opaque Cellular context structure type.
Definition: cellular_types.h:65
struct CellularContext * CellularHandle_t
Opaque Cellular handle.
Definition: cellular_types.h:71
Represents A singly-lined list of intermediate AT responses.
Definition: cellular_types.h:468
struct CellularATCommandLine * pNext
Definition: cellular_types.h:469
char * pLine
Definition: cellular_types.h:470
Represents AT Command response.
Definition: cellular_types.h:478
CellularATCommandLine_t * pItm
Definition: cellular_types.h:480
bool status
Definition: cellular_types.h:479
Represents e-I-DRX settings.
Definition: cellular_types.h:567
uint8_t mode
Definition: cellular_types.h:575
uint8_t pagingTimeWindow
Definition: cellular_types.h:650
uint8_t nwProvidedEdrxVaue
Definition: cellular_types.h:607
uint8_t requestedEdrxVaue
Definition: cellular_types.h:606
uint8_t rat
Definition: cellular_types.h:583
Cellular Represents e-I-DRX settings Lists.
Definition: cellular_types.h:658
uint8_t count
Definition: cellular_types.h:660
Represents IP Address.
Definition: cellular_types.h:668
CellularIPAddressType_t ipAddressType
Definition: cellular_types.h:669
Modem information.
Definition: cellular_types.h:403
Represents a PDN config.
Definition: cellular_types.h:678
CellularPdnContextType_t pdnContextType
Definition: cellular_types.h:679
CellularPdnAuthType_t pdnAuthType
Definition: cellular_types.h:680
Represents status of a PDN context.
Definition: cellular_types.h:691
CellularIPAddress_t ipAddress
Definition: cellular_types.h:695
uint8_t contextId
Definition: cellular_types.h:692
uint8_t state
Definition: cellular_types.h:693
CellularPdnContextType_t pdnContextType
Definition: cellular_types.h:694
Public Land Mobile Network (PLMN) information.
Definition: cellular_types.h:382
Represents PSM settings.
Definition: cellular_types.h:488
uint32_t activeTimeValue
Definition: cellular_types.h:559
uint32_t periodicTauValue
Definition: cellular_types.h:510
uint8_t mode
Definition: cellular_types.h:493
uint32_t gprsReadyTimer
Definition: cellular_types.h:544
uint32_t periodicRauValue
Definition: cellular_types.h:527
Represents network service status.
Definition: cellular_types.h:449
CellularNetworkRegistrationStatus_t csRegistrationStatus
Definition: cellular_types.h:452
CellularRat_t rat
Definition: cellular_types.h:450
CellularPlmnInfo_t plmnInfo
Definition: cellular_types.h:454
CellularOperatorNameFormat_t operatorNameFormat
Definition: cellular_types.h:455
uint8_t psRejectionType
Definition: cellular_types.h:459
uint8_t csRejectionType
Definition: cellular_types.h:457
CellularNetworkRegistrationStatus_t psRegistrationStatus
Definition: cellular_types.h:453
uint8_t psRejectionCause
Definition: cellular_types.h:460
uint8_t csRejectionCause
Definition: cellular_types.h:458
CellularNetworkRegistrationMode_t networkRegistrationMode
Definition: cellular_types.h:451
Represents signal information.
Definition: cellular_types.h:435
uint8_t bars
Definition: cellular_types.h:441
int16_t rsrq
Definition: cellular_types.h:438
int16_t rsrp
Definition: cellular_types.h:437
int16_t ber
Definition: cellular_types.h:440
int16_t sinr
Definition: cellular_types.h:439
int16_t rssi
Definition: cellular_types.h:436
SIM Card information.
Definition: cellular_types.h:392
CellularPlmnInfo_t plmn
Definition: cellular_types.h:395
SIM Card status.
Definition: cellular_types.h:372
CellularSimCardState_t simCardState
Definition: cellular_types.h:373
CellularSimCardLockState_t simCardLockState
Definition: cellular_types.h:374
Represents socket address.
Definition: cellular_types.h:703
uint16_t port
Definition: cellular_types.h:705
CellularIPAddress_t ipAddress
Definition: cellular_types.h:704
Represents time.
Definition: cellular_types.h:417
uint8_t minute
Definition: cellular_types.h:421
uint8_t second
Definition: cellular_types.h:422
uint8_t month
Definition: cellular_types.h:418
uint8_t day
Definition: cellular_types.h:419
uint16_t year
Definition: cellular_types.h:423
uint8_t dst
Definition: cellular_types.h:425
int32_t timeZone
Definition: cellular_types.h:424
uint8_t hour
Definition: cellular_types.h:420