2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
30
31
45#if defined(LWS_WITH_SECURE_STREAMS_AUTH_SIGV4)
47 LWS_SYSBLOB_TYPE_EXT_AUTH1,
48 LWS_SYSBLOB_TYPE_EXT_AUTH2 = LWS_SYSBLOB_TYPE_EXT_AUTH1 + 2,
49 LWS_SYSBLOB_TYPE_EXT_AUTH3 = LWS_SYSBLOB_TYPE_EXT_AUTH2 + 2,
50 LWS_SYSBLOB_TYPE_EXT_AUTH4 = LWS_SYSBLOB_TYPE_EXT_AUTH3 + 2,
51 LWS_SYSBLOB_TYPE_EXT_AUTH4_1,
55} lws_system_blob_item_t;
58
59
60
61
65LWS_EXTERN LWS_VISIBLE
void
68LWS_EXTERN LWS_VISIBLE
void
71LWS_EXTERN LWS_VISIBLE
int
74LWS_EXTERN LWS_VISIBLE size_t
75lws_system_blob_get_size(lws_system_blob_t *b);
78LWS_EXTERN LWS_VISIBLE
int
81LWS_EXTERN LWS_VISIBLE
int
84LWS_EXTERN LWS_VISIBLE
void
88
89
90
97
98
99
100
101
102
103
110
114
115
116
117
118
119
121
122
124
125
126
127
128
129
137
138
139
144
145
146
149
151} lws_system_states_t;
158
164struct lws_attach_item;
166LWS_EXTERN LWS_VISIBLE
int
168 const uint8_t *skid, size_t skid_len,
169 const uint8_t *der, size_t der_len);
175 lws_system_states_t state,
void *opaque,
176 struct lws_attach_item **get);
178
179
180
181
182
183
184
185
186
187
188
189
190
193
194
195
196
198#if defined(LWS_WITH_NETWORK)
201
202
205 size_t skid_len,
void *got_opaque);
207
208
209
210
211
213#if defined(LWS_WITH_OTA)
220
223#if defined(LWS_WITH_SYS_STATE)
226
227
228
229
230
231
233LWS_EXTERN LWS_VISIBLE lws_state_manager_t *
234lws_system_get_state_manager(
struct lws_context *context);
240#define LWSSYSGAUTH_HEX (1
<< 0
)
243
244
245
246
247
248
249
250LWS_EXTERN LWS_VISIBLE
const lws_system_ops_t *
253#if defined(LWS_WITH_SYS_STATE)
256
257
258
259
260
261
262
263LWS_EXTERN LWS_VISIBLE
struct lws_context *
264lws_system_context_from_system_mgr(lws_state_manager_t *mgr);
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299LWS_EXTERN LWS_VISIBLE
int
301 lws_system_states_t state,
void *opaque,
302 struct lws_attach_item **get);
326#if defined(LWS_WITH_NETWORK)
327typedef struct lws_dhcpc_ifstate {
331 uint32_t nums[_LWSDH_NUMS_COUNT];
332 lws_sockaddr46 sa46[_LWSDH_SA46_COUNT];
333} lws_dhcpc_ifstate_t;
335typedef int (*dhcpc_cb_t)(
void *opaque, lws_dhcpc_ifstate_t *is);
338
339
340
341
342
343
344
345
346
347
348
349LWS_EXTERN LWS_VISIBLE
int
350lws_dhcpc_request(
struct lws_context *c,
const char *i,
int af, dhcpc_cb_t cb,
354
355
356
357
358
359
360
361LWS_EXTERN LWS_VISIBLE
int
362lws_dhcpc_remove(
struct lws_context *context,
const char *iface);
365
366
367
368
369
370
371
372
373LWS_EXTERN LWS_VISIBLE
int
374lws_dhcpc_status(
struct lws_context *context, lws_sockaddr46 *sa46);
377
378
379
380
381
382
383
384
385LWS_EXTERN LWS_VISIBLE
int
386lws_system_cpd_start(
struct lws_context *context);
388LWS_EXTERN LWS_VISIBLE
void
389lws_system_cpd_start_defer(
struct lws_context *cx, lws_usec_t defer_us);
393
394
395
396
397
398
399
400
401LWS_EXTERN LWS_VISIBLE
void
402lws_system_cpd_set(
struct lws_context *context, lws_cpd_result_t result);
406
407
408
409
410
411
412
413LWS_EXTERN LWS_VISIBLE lws_cpd_result_t
414lws_system_cpd_state_get(
struct lws_context *context);
LWS_EXTERN LWS_VISIBLE int lws_system_blob_get_single_ptr(lws_system_blob_t *b, const uint8_t **ptr)
@ LWS_SYSTATE_POLICY_VALID
@ LWS_SYSTATE_MODAL_UPDATING
@ LWS_SYSTATE_CONTEXT_DESTROYING
@ LWS_SYSTATE_CPD_PRE_TIME
@ LWS_SYSTATE_AWAITING_MODAL_UPDATING
@ LWS_SYSTATE_IFACE_COLDPLUG
@ LWS_SYSTATE_OPERATIONAL
@ LWS_SYSTATE_INITIALIZED
@ LWS_SYSTATE_ONE_TIME_UPDATES
@ LWS_SYSTATE_CONTEXT_CREATED
@ LWS_SYSTATE_POLICY_INVALID
@ LWS_SYSTATE_CPD_POST_TIME
LWS_EXTERN LWS_VISIBLE int __lws_system_attach(struct lws_context *context, int tsi, lws_attach_cb_t cb, lws_system_states_t state, void *opaque, struct lws_attach_item **get)
LWS_EXTERN LWS_VISIBLE void lws_system_blob_destroy(lws_system_blob_t *b)
LWS_EXTERN LWS_VISIBLE int lws_system_blob_heap_append(lws_system_blob_t *b, const uint8_t *ptr, size_t len)
LWS_EXTERN LWS_VISIBLE void lws_system_blob_heap_empty(lws_system_blob_t *b)
LWS_EXTERN LWS_VISIBLE int lws_system_blob_get(lws_system_blob_t *b, uint8_t *ptr, size_t *len, size_t ofs)
struct lws_system_blob lws_system_blob_t
void(* lws_attach_cb_t)(struct lws_context *context, int tsi, void *opaque)
LWS_EXTERN LWS_VISIBLE void lws_system_blob_direct_set(lws_system_blob_t *b, const uint8_t *ptr, size_t len)
LWS_EXTERN LWS_VISIBLE lws_system_blob_t * lws_system_get_blob(struct lws_context *context, lws_system_blob_item_t type, int idx)
LWS_EXTERN LWS_VISIBLE const lws_system_ops_t * lws_system_get_ops(struct lws_context *context)
LWS_EXTERN LWS_VISIBLE int lws_tls_jit_trust_got_cert_cb(struct lws_context *cx, void *got_opaque, const uint8_t *skid, size_t skid_len, const uint8_t *der, size_t der_len)
@ LWS_SYSBLOB_TYPE_NTP_SERVER
@ LWS_SYSBLOB_TYPE_MQTT_USERNAME
@ LWS_SYSBLOB_TYPE_MQTT_PASSWORD
@ LWS_SYSBLOB_TYPE_MQTT_CLIENT_ID
@ LWS_SYSBLOB_TYPE_CLIENT_CERT_DER
@ LWS_SYSBLOB_TYPE_DEVICE_SERIAL
@ LWS_SYSBLOB_TYPE_DEVICE_FW_VERSION
@ LWS_SYSBLOB_TYPE_DEVICE_TYPE
@ LWS_SYSBLOB_TYPE_CLIENT_KEY_DER
int(* attach)(struct lws_context *context, int tsi, lws_attach_cb_t cb, lws_system_states_t state, void *opaque, struct lws_attach_item **get)
int(* jit_trust_query)(struct lws_context *cx, const uint8_t *skid, size_t skid_len, void *got_opaque)
int(* captive_portal_detect_request)(struct lws_context *context)
int(* set_clock)(lws_usec_t us)