41#ifndef _lmic_session_state_h_
42#define _lmic_session_state_h_
125enum { LMIC_SESSION_STATE_SIZE = 216 };
129 LMIC_SESSION_STATE_TAG_NULL = 0,
130 LMIC_SESSION_STATE_TAG_V1 = 1,
131 LMIC_SESSION_STATE_TAG_V2 = 2,
136 LMIC_SESSION_STATE_CHANNELS_CONFIGURABLE = 0,
137 LMIC_SESSION_STATE_CHANNELS_FIXED72 = 1,
138 LMIC_SESSION_STATE_CHANNELS_FIXED96 = 2,
142typedef enum lmic_session_state_result_e {
143 LMIC_SESSION_STATE_OK = 0,
144 LMIC_SESSION_STATE_BUFFER_TOO_SMALL,
145 LMIC_SESSION_STATE_BAD_TAG,
146 LMIC_SESSION_STATE_BAD_SIZE,
147 LMIC_SESSION_STATE_BAD_CHANNEL_VARIANT,
148 LMIC_SESSION_STATE_REGION_MISMATCH,
149 LMIC_SESSION_STATE_REGION_NOT_AVAILABLE,
150} lmic_session_state_result_t;
159} lmic_session_state_info_t;
162size_t LMIC_getSessionStateSize(
void);
171lmic_session_state_result_t LMIC_saveSessionState(
172 u1_t *pBuf,
size_t nBuf,
size_t *pnUsed, u2_t clientTag
181lmic_session_state_result_t LMIC_restoreSessionState(
182 const u1_t *pBuf,
size_t nBuf
188lmic_session_state_result_t LMIC_querySessionState(
189 const u1_t *pBuf,
size_t nBuf, lmic_session_state_info_t *pInfo
what LMIC_querySessionState() reports about a blob.
Definition lmic_session_state.h:153
u2_t clientTag
the client's tag, as passed to LMIC_saveSessionState()
Definition lmic_session_state.h:158
u1_t region
LMIC_REGION_* code.
Definition lmic_session_state.h:155
u1_t version
header tag, LMIC_SESSION_STATE_TAG_*
Definition lmic_session_state.h:154
u1_t channelKind
LMIC_SESSION_STATE_CHANNELS_*.
Definition lmic_session_state.h:156
u1_t size
total size of the blob, bytes
Definition lmic_session_state.h:157