34 LWS_SYSBLOB_TYPE_AUTH,
35 LWS_SYSBLOB_TYPE_CLIENT_CERT_DER = LWS_SYSBLOB_TYPE_AUTH + 2,
36 LWS_SYSBLOB_TYPE_CLIENT_KEY_DER,
37 LWS_SYSBLOB_TYPE_DEVICE_SERIAL,
38 LWS_SYSBLOB_TYPE_DEVICE_FW_VERSION,
39 LWS_SYSBLOB_TYPE_DEVICE_TYPE,
40 LWS_SYSBLOB_TYPE_NTP_SERVER,
42 LWS_SYSBLOB_TYPE_COUNT
43 } lws_system_blob_item_t;
51 typedef struct lws_system_blob lws_system_blob_t;
53 LWS_EXTERN LWS_VISIBLE
void
54 lws_system_blob_direct_set(lws_system_blob_t *b,
const uint8_t *ptr,
size_t len);
56 LWS_EXTERN LWS_VISIBLE
void
57 lws_system_blob_heap_empty(lws_system_blob_t *b);
59 LWS_EXTERN LWS_VISIBLE
int
60 lws_system_blob_heap_append(lws_system_blob_t *b,
const uint8_t *ptr,
size_t len);
62 LWS_EXTERN LWS_VISIBLE
size_t
63 lws_system_blob_get_size(lws_system_blob_t *b);
66 LWS_EXTERN LWS_VISIBLE
int
67 lws_system_blob_get_single_ptr(lws_system_blob_t *b,
const uint8_t **ptr);
69 LWS_EXTERN LWS_VISIBLE
int
70 lws_system_blob_get(lws_system_blob_t *b, uint8_t *ptr,
size_t *len,
size_t ofs);
72 LWS_EXTERN LWS_VISIBLE
void
73 lws_system_blob_destroy(lws_system_blob_t *b);
80 LWS_EXTERN LWS_VISIBLE lws_system_blob_t *
81 lws_system_get_blob(
struct lws_context *context, lws_system_blob_item_t type,
96 LWS_SYSTATE_CONTEXT_CREATED,
97 LWS_SYSTATE_INITIALIZED,
99 LWS_SYSTATE_IFACE_COLDPLUG,
101 LWS_SYSTATE_TIME_VALID,
104 LWS_SYSTATE_POLICY_VALID,
105 LWS_SYSTATE_REGISTERED,
109 LWS_SYSTATE_OPERATIONAL,
111 LWS_SYSTATE_POLICY_INVALID,
115 } lws_system_states_t;
118 typedef void (*lws_attach_cb_t)(
struct lws_context *context,
int tsi,
void *opaque);
119 struct lws_attach_item;
123 int (*set_clock)(lws_usec_t us);
124 int (*
attach)(
struct lws_context *context,
int tsi, lws_attach_cb_t cb,
125 lws_system_states_t state,
void *opaque,
126 struct lws_attach_item **get);
151 LWS_EXTERN LWS_VISIBLE lws_state_manager_t *
152 lws_system_get_state_manager(
struct lws_context *context);
158 #define LWSSYSGAUTH_HEX (1 << 0)
169 lws_system_get_ops(
struct lws_context *context);
179 LWS_EXTERN LWS_VISIBLE
struct lws_context *
180 lws_system_context_from_system_mgr(lws_state_manager_t *mgr);
214 LWS_EXTERN LWS_VISIBLE
int
215 __lws_system_attach(
struct lws_context *context,
int tsi, lws_attach_cb_t cb,
216 lws_system_states_t state,
void *opaque,
217 struct lws_attach_item **get);
220 typedef int (*dhcpc_cb_t)(
void *opaque,
int af, uint8_t *ip,
int ip_len);
235 lws_dhcpc_request(
struct lws_context *c,
const char *i,
int af, dhcpc_cb_t cb,
247 lws_dhcpc_remove(
struct lws_context *context,
const char *iface);
259 lws_dhcpc_status(
struct lws_context *context,
lws_sockaddr46 *sa46);