1*1c60b9acSAndroid Build Coastguard Worker# lws minimal secure streams policy2c
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerThis application parses a JSON policy passed on stdin and emits the
4*1c60b9acSAndroid Build Coastguard Workerequivalent of it in C structs ready for compilation.
5*1c60b9acSAndroid Build Coastguard Worker
6*1c60b9acSAndroid Build Coastguard WorkerThis is useful in the case your platform doesn't use a dynamic JSON
7*1c60b9acSAndroid Build Coastguard Workerpolicy and is space-constrained, you can still form and maintain the
8*1c60b9acSAndroid Build Coastguard Workerpolicy in JSON, but with this utility convert it into compileable C.
9*1c60b9acSAndroid Build Coastguard Worker
10*1c60b9acSAndroid Build Coastguard Worker**Notice** this depends on LWS_ROLE_H1, LWS_ROLE_H2, LWS_ROLE_WS and
11*1c60b9acSAndroid Build Coastguard WorkerLWS_ROLE_MQTT build of lws, since it has to be able to work with any kind
12*1c60b9acSAndroid Build Coastguard Workerof policy content.
13*1c60b9acSAndroid Build Coastguard Worker
14*1c60b9acSAndroid Build Coastguard Worker## build
15*1c60b9acSAndroid Build Coastguard Worker
16*1c60b9acSAndroid Build Coastguard Worker```
17*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make
18*1c60b9acSAndroid Build Coastguard Worker```
19*1c60b9acSAndroid Build Coastguard Worker
20*1c60b9acSAndroid Build Coastguard Worker## usage
21*1c60b9acSAndroid Build Coastguard Worker
22*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning
23*1c60b9acSAndroid Build Coastguard Worker---|---
24*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15
25*1c60b9acSAndroid Build Coastguard Worker
26*1c60b9acSAndroid Build Coastguard Worker```
27*1c60b9acSAndroid Build Coastguard Worker$ cat mypolicy.json | lws-minimal-secure-streams-policy2c
28*1c60b9acSAndroid Build Coastguard Worker
29*1c60b9acSAndroid Build Coastguard Worker(on stdout)
30*1c60b9acSAndroid Build Coastguard Worker
31*1c60b9acSAndroid Build Coastguard Workerstatic const uint32_t _rbo_bo_0[] = {
32*1c60b9acSAndroid Build Coastguard Worker 1000,  2000,  3000,  5000,  10000,
33*1c60b9acSAndroid Build Coastguard Worker};
34*1c60b9acSAndroid Build Coastguard Workerstatic const lws_retry_bo_t _rbo_0 = {
35*1c60b9acSAndroid Build Coastguard Worker	.retry_ms_table = _rbo_bo_0,
36*1c60b9acSAndroid Build Coastguard Worker	.retry_ms_table_count = 5,
37*1c60b9acSAndroid Build Coastguard Worker	.conceal_count = 5,
38*1c60b9acSAndroid Build Coastguard Worker	.secs_since_valid_ping = 30,
39*1c60b9acSAndroid Build Coastguard Worker	.secs_since_valid_hangup = 35,
40*1c60b9acSAndroid Build Coastguard Worker	.jitter_percent = 20,
41*1c60b9acSAndroid Build Coastguard Worker};
42*1c60b9acSAndroid Build Coastguard Workerstatic const uint8_t _ss_der_amazon_root_ca_1[] = {
43*1c60b9acSAndroid Build Coastguard Worker	/* 0x  0 */ 0x30, 0x82, 0x03, 0x41, 0x30, 0x82, 0x02, 0x29,
44*1c60b9acSAndroid Build Coastguard Worker	/* 0x  8 */ 0xA0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x13, 0x06,
45*1c60b9acSAndroid Build Coastguard Worker	/* 0x 10 */ 0x6C, 0x9F, 0xCF, 0x99, 0xBF, 0x8C, 0x0A, 0x39,
46*1c60b9acSAndroid Build Coastguard Worker	/* 0x 18 */ 0xE2, 0xF0, 0x78, 0x8A, 0x43, 0xE6, 0x96, 0x36,
47*1c60b9acSAndroid Build Coastguard Worker	/* 0x 20 */ 0x5B, 0xCA, 0x30, 0x0D, 0x06, 0x09, 0x2A, 0x86,
48*1c60b9acSAndroid Build Coastguard Worker...
49*1c60b9acSAndroid Build Coastguard Worker```
50